随便想想-20180920

客户端对zk上的某个节点路径监听变更是如何识别这个节点路径变更的,我觉得应该在监听链接,当链接上有可读数据时(这个底层实现是依赖操作系统实现),然后读取数据并分析数据,数据中应该包含哪个节点路径发生了什么变更,然后解析下生成相应的事件传递给注册的监听回调程序就行了!

监听的底层实现有时也是轮训(所以,从应用程序来看底层实现,有很多伪实现,比如伪集群等等),只是粒度更细,更接近事件源,或者监听就是事件源推送消息直接给监听者,这就是推与拉

一个服务如果是以分布式的方式呈现提供服务的,那么一个节点挂掉后有备被升为该挂掉的节点(通过一些选举算法等),我的问题是这个分布式服务的使用者是感知这个事件还是不感知的呢,如果是感知的,那么就要更新自己的网络连接列表,比如JedisCluster就是这么个情况;如果不感知的,那么就要把这个感知有一个代理来做处理,比如dns就是这个思路,比如codis,更彻底地说,分布式服务提供服务是按照类似于域名的服务来实现的,服务端本身的变更服务端自己消化处理,不把这个暴露和传递给使用者;

思考一个问题:面向对象编程为什么在业务开发领域不如面向对象语言好使呢?

思考一个问题:一个服务如何以网络调用的方式提供服务,需要考虑的瓶颈点是哪些?一般针对这些问题有哪些成熟的解决方案?除了这些服务本身要考虑的,调用者或者调用者使用的调用代理有什么需要做的吗?

调研使用一个新的开源服务,如何了解它是否适用于你的项目,在使用前又是如何压测它以及压测它的哪些指标呢?

客户端对zk上的某个节点路径监听变更是如何识别这个节点路径变更的,我觉得应该在监听链接,当链接上有可读数据时(这个底层实现是依赖操作系统实现),然后读取数据并分析数据,数据中应该包含哪个节点路径发生了什么变更,然后解析下生成相应的事件传递给注册的监听回调程序就行了!

原文地址:https://www.cnblogs.com/big1987/p/9679345.html