1 / 50
文档名称:

dubbo路由模块设计说明书.docx

格式:docx   大小:408KB   页数:50页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

dubbo路由模块设计说明书.docx

上传人:1660287**** 2022/5/3 文件大小:408 KB

下载得到文件列表

dubbo路由模块设计说明书.docx

文档介绍

文档介绍:Dubbo路由模块
设计说明书
动态变化,让服务使用者不受任何影响;为由于微应用拆分导致的跨多个数据库的操作提供统一的数据访问方法。
应用路由
软负载均衡
服务路由
分布式服务框架
数据路由
分布式数据库框架
通过多个支持JDK引擎的所有脚本语言,如 javascript、jruby^ groovy 等;
■当有多条路由规则时,可以设置优先级;
根据不同服务实现情况及不同服务调用方的实现方式,服务支持
以不同协议来暴露服务:
•不同服务使用不同协议
•同一服务可以同时使用多种协议多版本支持
当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本 号不同的服务相互间不引用。例如在针对某个服务进行升级时,为不 影响服务的可用性,可以选择在低压力时间段,先升级一半提供者为 新版本,再将所有消费者升级为新版本,然后将剩下的一半提供者升 级为新版本。
并发控制需求■可以针对某个类的所有方法或者某个特定方法设置服务器端 并发执行数量(或者占用线程池线程数)。
■可以针对某个类的所有方法或者某个特定方法设置每客户端 并发执行数量(或者占用连接的请求数量)。
连接控制需求
■可以针对服务器端接受的连接数设置最大值;
■可以针对服务设置客户端使用的最大连接数(如果是长连接,表示该服务对每个提供者建立的长连接数)

在微应用中,针对不同调用方,调用前,需要通过用户鉴权,确 定用户身份。
微应用中,对于服务方,需要按照调用方提供的鉴权信息,完成 用户身份鉴定,并且通过系统中设置的用户权限,完成用户授权,确 定用户是否具有调用该服务的权限。
■防止服务调用方不经过鉴权、授权直接访问服务提供方;
■统一进行鉴权控制,完成服务调用方身份确定;
■可以和已经存在的第三方鉴权系统对接;
■统一进行授权控制,完成服务调用者授权;
■可以和已经存在的第三方授权系统对接; .数据路由需求
微应用架构中每个服务由于可以独立开发、部署及升级,所以为 避免不同服务之间的相互影响,每个服务都可以有自己独立的数据库。 不同服务对数据库的性能要求不同,所以要求数据库能够支持良好的 伸缩性,以能够满足不同服务的性能要求,比如对于访问量较大的服 务需要实现读写分离,但这种数据库层面的伸缩性及读写分离需要对 应用层进行屏蔽。
数据路由要求能够实现数据库服务的可伸缩性,并且对服务透明。 另外采用数据路由后,对原有业务代码无侵入,不需要对代码进行修改。
微应用智能路由模块设计原则
■可靠性>对于应用路由、服务路由及数据路由,都要提供高可用性 解决方案,以确保微应用的可用性;
>对于应用路由,需要负载均衡通过集群模式实现应用请求 分发的高可靠性;
>对于服务路由,即使服务注册与发现功能不可用后,服务 提供方和服务调用方仍能通过本地缓存通讯;
>服务提供方无状态,任意一台宕掉后,不影响使用;>服务提供方全部宕掉后,服务调用方应用将无法使用,并 无限次重连等待服务提供方恢复;
>对于数据路由,某台后端数据库的异常不应影响后续的所 有数据库读写访问,并旦通过数据库同步技术能够尽快恢 复发生异常的数据库;
■伸缩性>对于应用路由、服务路由及数据路由,都要求能够根据负 载情况进行动态伸缩;
>对于应用路由,软负载均衡要求能够动态增加或减少服务实例来适应负载的变化;
>对于服务路由,服务提供方无状态,可动态增加机器部署 服务实例,并会推送新的服务提供方信息给服务调用方;>对于数据路由,后端可以动态增加数据库,而对服务透明;
■可管理性>必须保证对智能路由系统中的每个模块进行统一管理及 监控,维护和管理的操作要简单方便,并且能够从中收集 到统计信息为系统优化及参数调整提供依据。
.应用架构设计
软负载均衡
分布式数据库框架
图4应用架构图
•软负载均衡:负责客户端到微应用的路由处理,详细介绍见章节。
•分布式服务框架:负责微应用到聚合服务/业务服务的路由处理,以及聚合服务到业务服务的路由处理,详细介绍见
章节。
•分布式数据库框架:负责业务服务到数据库的路由处理,详 细介绍见章节。
.技术架构设计
软负载均衡设计待补充。
分布式服务框架设计

异步 > 同步*
注册中心
订阅I •注册通知
服务调JI]

监控中心图5分布式服务框架模型
■节点角色说明•服务提供方:暴露服务的服务提供方。
修改记录
版本/状态
拟制人/ 修改人
拟制/修改日期
更改理由
更改内容 (写要点即可)
V1