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生态中关于服务调用一种解决方案(服务治理)


目录
相关文章
|
负载均衡 关系型数据库 应用服务中间件
高可用系列文章之二 - 传统分层架构技术方案
高可用系列文章之二 - 传统分层架构技术方案
|
Dubbo Cloud Native 网络协议
【Dubbo3技术专题】「服务架构体系」第一章之Dubbo3新特性要点之RPC协议分析介绍
【Dubbo3技术专题】「服务架构体系」第一章之Dubbo3新特性要点之RPC协议分析介绍
289 1
|
6月前
|
资源调度 前端开发 算法
鸿蒙OS架构设计探秘:从分层设计到多端部署
本文深入探讨了鸿蒙OS的架构设计,从独特的“1+8+N”分层架构到模块化设计,再到智慧分发和多端部署能力。分层架构让系统更灵活,模块化设计通过Ability机制实现跨设备一致性,智慧分发优化资源调度,多端部署提升开发效率。作者结合实际代码示例,分享了开发中的实践经验,并指出生态建设是未来的关键挑战。作为国产操作系统的代表,鸿蒙的发展值得每一位开发者关注与支持。
|
11月前
|
人工智能 前端开发 JavaScript
前端架构思考 :专注于多框架的并存可能并不是唯一的方向 — 探讨大模型时代前端的分层式微前端架构
随着前端技术的发展,微前端架构成为应对复杂大型应用的流行方案,允许多个团队使用不同技术栈并将其模块化集成。然而,这种设计在高交互性需求的应用中存在局限,如音视频处理、AI集成等。本文探讨了传统微前端架构的不足,并提出了一种新的分层式微前端架构,通过展示层与业务层的分离及基于功能的横向拆分,以更好地适应现代前端需求。
281 0
|
9月前
|
数据库
分层架构
表现层(Presentation Layer):处理用户界面和用户交互逻辑。 业务逻辑层(Business Logic Layer):处理业务相关的逻辑和规则。 数据访问层(Data Access Layer):负责与数据库或其他数据源进行 [Something went wrong, please try again later.]。
|
11月前
|
存储 前端开发 API
DDD领域驱动设计实战-分层架构
DDD分层架构通过明确各层职责及交互规则,有效降低了层间依赖。其基本原则是每层仅与下方层耦合,分为严格和松散两种形式。架构演进包括传统四层架构与改良版四层架构,后者采用依赖反转设计原则优化基础设施层位置。各层职责分明:用户接口层处理显示与请求;应用层负责服务编排与组合;领域层实现业务逻辑;基础层提供技术基础服务。通过合理设计聚合与依赖关系,DDD支持微服务架构灵活演进,提升系统适应性和可维护性。
|
11月前
|
JSON 前端开发 Java
Spring Boot框架中的响应与分层解耦架构
在Spring Boot框架中,响应与分层解耦架构是两个核心概念,它们共同促进了应用程序的高效性、可维护性和可扩展性。
202 3
|
存储 消息中间件 JSON
DDD基础教程:一文带你读懂DDD分层架构
DDD基础教程:一文带你读懂DDD分层架构
|
运维 Java Docker
业务系统架构实践问题之在某些情况下,将能力代码和业务逻辑严格分层可能是一个挑战问题如何解决
业务系统架构实践问题之在某些情况下,将能力代码和业务逻辑严格分层可能是一个挑战问题如何解决
|
存储 搜索推荐 API
业务系统架构实践问题之分层架构中的四层定位是什么
业务系统架构实践问题之分层架构中的四层定位是什么
405 0

热门文章

最新文章