模块拆分第十周作业「架构师训练营第 1 期」
作业一,根据微服务框架Dubbo 的架构图,画出 Dubbo 进行一次微服务调用的时序图。
1 服务提供者加载配置文件,将已的服务注册到注册中心中
2 消费者加载配置文件,像调用本地的方式一样调用远程服务
3 消费者通过服务代理,进行代理处理,处理远程服务
4 代理类从注册中心获取服务列表,并且放到缓存中
5 根据配置的负载均衡策略,选择随机,加权轮询,最小连接等算法
6 调用通信模块,netty,封装报文,序列化,请求目标服务
7 如果请求失败,考虑失效转移,容错机制,重试或是抛异常等其它方式
8 服务提供者netty服务端收到请求,使用反应器模式,业务线程池单独处理服务请求
9 进行解码,反序列化,通过代理对象,对行反射处理具体的业务类
10 处理完结果通过netty响应请求
版权声明: 本文为 InfoQ 作者【天天向善】的原创文章。
原文链接:【http://xie.infoq.cn/article/663b7f84d3bdfbf484a579d09】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论