Dubbo:一个分布式、高性能、透明化的RPC服务框架。作用:提供服务自动注册、自动发现等高效服务治理方案
Dubbo架构图
1.1 Provider :提供者,服务发布方.
1.2 Consumer:消费者, 调用服务方
1.3 Container:Dubbo容器.依赖于Spring容器.
1.4 Registry: 注册中心.当Container启动时把所有可以提供的服务列表上Registry中进行注册.
1.4.1 作用:告诉Consumer提供了什么服务和服务方在哪里.
1.5 Monitor:监听器
1.6 虚线都是异步访问,实线都是同步访问
1.7 蓝色虚线:在启动时完成的功能
1.8 红色虚线(实线)都是程序运行过程中执行的功能
1.9 所有的角色都是可以在单独的服务器上.所以必须遵守特定的协议.
运行原理:
1.0 启动容器,相当于在启动Dubbo的Provider
1.1 启动后会去注册中心进行注册.注册所有可以提供的服务列表
1。2 在Consumer启动后会去Registry中获取服务列表和Provider的地址.进行订阅.
41.3 当Provider有修改后,注册中心会把消息推送给Consummer
1.3.1 使用了观察者设计模式(又叫发布/订阅设计模式)
1.4 根据获取到的Provider地址,真实调用Provider中功能.
1.4.1 在Consumer方使用了代理设计模式.创建一个Provider方类的一个代理对象.通过代理对象获取Provider中真实功能,起到保护Provider真实功能的作用.
1.5 Consumer和Provider每隔1分钟向Monitor发送统计信息,统计信息包含,访问次数,频率等.