Dubbo 进行微服务调用的时序图

发布于: 2020 年 08 月 10 日

Author:Jessie

Date:2020/8/10

根据微服务框架 Dubbo 的架构图,画出 Dubbo 进行一次微服务调用的时序图



Dubbo架构的背景



随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。

而巨无霸应用系统打包构建、代码分支管理、数据库连接、新增业务都是非常纠缠、复杂的工作。



为了降低系统的耦合性,就是根据业务进行拆解。而早期的Web Service 利用WSDL(Web Services Description Language)注册、发布服务,SOAP进行通信,因为其臃肿的注册和发现机制、低效的序列化手段和开销高的HTTP通信手段,不适合大型网站。

利用微服务的架构设计分布式服务架构。

Dubbo架构的设计

Dubbo 是 基于 Java 的RPC 框架。Dubbo 工作分为 4 个角色,分别是服务提供者、服务消费者、注册中心、和监控中心。



节点角色说明



架构需要满足失效转移、负载均衡、高效远程通信、版本管理、应用最少侵入管理等需求。Dubbo分布式服务框架以及SOA治理方案。其功能主要包括:高性能NIO通讯及多协议集成,服务动态寻址与路由,软负载均衡与容错,依赖分析与降级等。

一次Dubbo微服务调用的时序





1.   服务容器负责启动,加载,运行服务提供者。

2.   服务提供者在启动时,向注册中心注册自己提供的服务。

3.   服务消费者在启动时,向注册中心订阅自己所需的服务。

4.   注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

5.   服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

6.   服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。



参考文献

http://dubbo.apache.org/zh-cn/docs/user/preface/background.html



发布于: 2020 年 08 月 10 日 阅读数: 84
用户头像

还未添加个人签名 2018.08.21 加入

码过代码、做过产品;擅长码字、演讲、认真做事之人。

评论

发布
暂无评论
Dubbo进行微服务调用的时序图