Dubbo架构
dubbo工作图,使用zk做注册中心。
工作流程:dubbo中有个服务容器(Container),dubbo启动时,加载和运行服务提供者,服务提供者启动时将自己能提供的服务信息注册到注册中心里,服务消费者在启动时会从注册中心订阅所需要的服务,注册中心会将消费者需要的服务的地址列表等信息返回给他;服务如果有变更,注册中心会基于长连接的方式将变更异步通知消费者,消费者从而保持实时的服务提供者名单;消费者通过提供者的服务地址列表,通过负载均衡算法来调用提供者,如果调用失败,还可以调用服务列表中其他服务。
还有监控机制,调用次数,调用时间都会定时发给监控中心,做到实时监控。
架构 proxy代理层实现负载均衡
dubbo底层的网络通信
dubbo底层基于netty网络框架,netty是堆NIO的封装。