Dubbo,Zookeeper入门

  • Zookeeper
  1. 功能:分布式应用程序协调服务,集群管理者,监视集群各个节点状态-->提交反馈-->进行下一步合理操作;
  2. 机制:目录方式,当目录节点发生变化(数据改变,被删除,子节点增加删除)时,zookeeper会通知客户端。
  3. 工作原理:核心原子广播,保证server同步,实现是Zab协议:两种模式:恢复模式(选主)和广播模式(同步),服务器或领导者崩溃选主。
  4. 状态:
    • LOOKING:server不知道leader是谁,正在搜寻;
    • LEADING:当前server是选举出来的leader;
    • FOLLOWING:leader选举出来,当前server与之同步;
  • Dubbo
  1. 功能:高性能服务框架:提供服务(把一些业务分离,变成服务,供他人调用)
  2. 原理:RPC远程服务调用。SOA服务治理,Reactor模型通信框架:tcp长连接
  3. 角色:provider(服务提供者),consumer(调用服务的消费者),registry(注册中心),monitor(统计服务调用时间、次数的监控中心),container服务运行容器
  4. 关系:
    • container负责启动、加载、运行provider
    • provider启动时,向registry注册提供的服务
    • consumer启动时,向registry订阅所需的服务
    • registry返回provider的地址列表给consumer,如果有变更,registry将基于长连接推送变更数据给consumer
    • consumer从provider的地址列表中,基于软负载均衡算法,选一台provider调用,调用失败选另一台。
    • provider和consumer,在内存累计调用次数、时间定时每分钟发送统计数据到monitor
        
以上是dubbo和zookeeper的理论概念,实践可参考我的github上面的两个小例子。
项目描述:两个项目分别是生产者项目和消费者项目,为了省事用springboot搭建,注意运行时可以把生产者项目打包到本地仓库,方便消费者项目的调用。
                
原文地址:https://www.cnblogs.com/handsomecui/p/8822780.html