2016-9-22zookeeper学2014-10-29Page 2我们都知道,想要打败一个强悍的对手,那你就要寻找他的弱点,而要知道他弱点,你就得了解他,也许他的弱点只是一个很小的点,但为此你得付出更多。就像一个黑客,为了找到一个漏洞,他必须尝试着用各种方式去嗅探,直到达到目的。做技术也是一样,当你遇到一个问题时,比如程序运行时出现异常,你可能要打个断点,跟踪这个程序的运行逻辑。也许你可以直接将异常信息复制到网上搜索答案,但实际上,只不过是别人替你去做了那个工作。而我关于zookeeper的学习是从dubbo的一个bug开始的,按照下面的任务顺序去学习并解决问题: bug ,zkclient共存; API的使用; ,修改配置不用重启应用。Page 3目录?简单介绍dubbo+. zookeeper在dubbo中的角色3. dubbo使用zookeeper客户端的一个bug4. dubbo同时使用两套client的解决办法(没有什么意义)??实现?. Zookeeper客户端curatorPage 4简单介绍dubbo+zookeeper?:是一个分布式服务框架,致力于提供高性能和透明化的RPC(Remote Procedure Call Protocol)远程服务调用方案,以及SOA(Service-Oriented Architecture )服务治理方案。:是一个分布式协调服务。Page 5简单介绍dubbo+zookeeper?: Provider: 暴露服务的服务提供方。 Consumer: 调用远程服务的服务消费方。 Registry: 服务注册与发现的注册中心。 Monitor: 统计服务的调用次调和调用时间的监控中心。 Container: 服务运行容器。: 0. 服务容器负责启动,加载,运行服务提供者。 1. 服务提供者在启动时,向注册中心注册自己提供的服务。 2. 服务消费者在启动时,向注册中心订阅自己所需的服务。 3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。 4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。 5. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。Page 6简单介绍dubbo+zookeeper?:注册中心 ,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小 ,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销 ,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销 ,服务提供者,服务消费者三者之间均为长连接,监控中心除外 ,服务提供者宕机,注册中心将立即推送事件通知消费者 ,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表 ,服务消费者可以直连服务提供者其他可扮演注册中心的技术:redisPage 7简单介绍dubbo+zookeeper?dubbo使用zookeeper客户端的一个bugdubbo目前支持使用的zookeeper客户端有两个:Zkclient和curator,Zkclient是其默认的客户端。 bug描述:dubbo在ZookeeperRegistry这个类中显示依赖了Zkclient的异常类,导致在缺失Zkclient包的时候使用zookeeper注册中心报错。解决办法是去掉这个显示依赖,或者在使用curator的时候也引入Zkclient包。指定使用c
zookeeper学习笔记 来自淘豆网m.daumloan.com转载请标明出处.