1.架构图

2.架构说明
- 虚线
虚线表示异步,实线表示同步。异步不阻塞线程性能高,同步阻塞线程必须等待响应结果才能继续执行,相对性能低。
- Provider
暴露服务的服务提供方。
- Container
服务运行容器。Dubbo 完全基于 Spring 实现的
- Registry
服务注册与发现的注册中心。注册中心,放置所有 Provider 对外提供的信息。包含 Provider 的 IP,访问端口,访问遵守的协议,对外提供的接口,接口中有哪些方法等相关信息
- Consumer
调用远程服务的服务消费方。
- Monitor
统计服务的调用次调和调用时间的监控中心。监控中心,监控 Provider 的压力情况等。每隔 2 分钟 Consumer 和 Provider 会把调用次数发送给 Monitor,由 Monitor 进行统计。
3.执行流程
- start:启动 Spring 容器时会把 Provider 启动。
- register:把 Provider 相关信息注册到 Registry 里
- subscribe:Consumer 从 Registry 中订阅 Provider 的信息
- notify:通知给 Consumer
- invoke:Consumer 根据 Registry 通知的信息进行调用 Provider 中方法。
- count:Consumer 和 Provider 把调用次数信息异步发送给 Monitor 进行统计。
相关文章: