dubbo 的整体架构设计及分层

简介: dubbo 的整体架构设计及分层

五个角色:

注册中心registry:服务注册与发现

服务提供者provider:暴露服务

服务消费者consumer:调用远程服务

监控中心monitor:统计服务的调用次数和调用时间

容器container:服务允许容器

调用流程:

1:container容器负责启动、加载、运行provider

2:provider在启动时,向regisitry中心注册自己提供的服务

3:consumer在启动时,向regisitry中心订阅自己所需的服务

4:regisitry返回服务提供者列表给consumer,如果有变更, registry将基于长连接推送变更数据给consumer

5:consumer调用provider服务,基于负载均衡算法进行调用

6:consumer调用provider的统计,基于短连接定时每分钟一次统计monitor

分层:

接口服务层(Service):面向开发者,业务代码、接口、实现等

配置层(Config):对外配置接口,以ServiceConfig和ReferenceConfig为中心

服务代理层(Proxy):对生产者和消费者、dubbo都会产生一个代理类封装调用细节,业务层对远程调用无感

服务代理层(Registry):封装服务地址的注册和发现,以服务URL为中心

路由层(Cluster):封装多个提供者的路由和负载均衡,并桥接注册中心


监控层(Monitor):RPC调用次数和调用时间监控

远程调用层(Protocal):封装RPC调用

信息交换层(Exchange):封装请求响应模式,同步转异步

网络传输层(Transport):抽象mina和netty为统一接口,统一网络传输接口

数据序列化层(Serialize):数据传输的序列化和反序列化


Spring Cloud 和 Dubbo 的对比

底层协议:SpringCloud 基于htpp协议,Dubbo基于Tcp协议,决定了dubbo的性能相对会比较好

注册中心:SpringCloud 使用的eureka,dubbo推荐使用zookeeper

模型定义:dubbo将一个接口定义为一个服务,SpringCloud则是将一个应用定义为一个服务

SpringCloud是一个生态,而Dubbo是SpringCloud生态中关于服务调用一种解决方案(服务治理)


目录
相关文章
|
3月前
|
负载均衡 关系型数据库 应用服务中间件
高可用系列文章之二 - 传统分层架构技术方案
高可用系列文章之二 - 传统分层架构技术方案
|
3月前
|
监控 负载均衡 Dubbo
Dubbo 框架揭秘:分布式架构的精髓与魔法【一】
Dubbo 框架揭秘:分布式架构的精髓与魔法【一】
164 0
|
2月前
|
Dubbo Cloud Native 网络协议
【Dubbo3技术专题】「服务架构体系」第一章之Dubbo3新特性要点之RPC协议分析介绍
【Dubbo3技术专题】「服务架构体系」第一章之Dubbo3新特性要点之RPC协议分析介绍
38 1
|
5月前
|
Dubbo Java 应用服务中间件
阿里巴巴资深架构师深度解析微服务架构设计之SpringCloud+Dubbo
软件架构是一个包含各种组织的系统组织,这些组件包括Web服务器,应用服务器,数据库,存储,通讯层),它们彼此或和环境存在关系。系统架构的目标是解决利益相关者的关注点。
|
2月前
|
Cloud Native Dubbo 应用服务中间件
【Dubbo3高级特性】「微服务云原生架构」带你从零基础认识搭建公司内部服务用户中心体系(实战指南-序章)
【Dubbo3高级特性】「微服务云原生架构」带你从零基础认识搭建公司内部服务用户中心体系(实战指南-序章)
60 0
|
2月前
|
Dubbo Cloud Native 应用服务中间件
【Dubbo3 终极特性】「云原生三中心架构」带你探索 Dubbo3 体系下的配置中心和元数据中心、注册中心的原理及开发实战(中)
【Dubbo3 终极特性】「云原生三中心架构」带你探索 Dubbo3 体系下的配置中心和元数据中心、注册中心的原理及开发实战(中)
21 1
|
2月前
|
分布式计算 API 数据处理
Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
【2月更文挑战第15天】Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
62 1
|
3月前
|
存储 自然语言处理 前端开发
软考实践之分层架构思想的理论和应用实践
软考实践之分层架构思想的理论和应用实践
224 0
|
3月前
|
消息中间件 前端开发 测试技术
DDD - 分层架构:有效降低层与层之间的依赖
DDD - 分层架构:有效降低层与层之间的依赖
|
3月前
|
负载均衡 监控 Dubbo
探秘Dubbo Registry:微服务架构的核心【十二】
探秘Dubbo Registry:微服务架构的核心【十二】
24 0