Dubbo路由模块设计说明书

Dubbo路由模块设计说明书

ID:43445525

大小:732.52 KB

页数:51页

时间:2019-10-03

Dubbo路由模块设计说明书_第1页
Dubbo路由模块设计说明书_第2页
Dubbo路由模块设计说明书_第3页
Dubbo路由模块设计说明书_第4页
Dubbo路由模块设计说明书_第5页
资源描述:

《Dubbo路由模块设计说明书》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Dubbo路由模块设计说明书修改记录版本/状态拟制人/修改人拟制/修改日期更改理由更改内容(写要点即可)V1.02015.12.21新建1目录1.引言.51.1.微应用系统建设背景51.2.微应用系统建设面临的挑战72.微应用智能路由模块需求分析92.1.应用路由需求112.2.服务路由需求112.2.1.服务负载均衡122.2.2.集群扩展及容错122.2.3.服务路由扩展及规则132.2.4.多协议支持132.2.5.多版本支持142.2.6.并发控制需求142.2.7.连接控制需求142.2.8.令牌验证及权限扩展1523.数据路由需求153.微应用智能

2、路由模块设计原则164.微应用智能路由模块设计方案184・1・应用架构设计184.2.技术架构设计194.2.1.软负载均衡设计194.2.2.分布式服务框架设计194.2.1.分布式数据库框架设计355.微应用智能路由系统部署方案1.引言1丄微应用系统建设背景近年来移动互联网发展迅速,每年移动互联网产生的流量增速达到60%,越来越多的业务及应用系统也开始推出支持各种移动终端的版本,而移动应用的增加反过来进一步促进了移动终端数量的快速增长。公司根据移动互联网时代对业务的需求,提出了微应用商店,通过微应用商店提供更精细的业务功能。随着互联网流量从桌面转向移动终端

3、,以及物联网浪潮的兴起,提供适配多种终端的丰富、友好的用户体验对于应用系统提出了更高的要求。传统的基于单一模型的应用系统,虽然在系统设计层面采用了分层架构设计,通常包括前端表现层、业务逻辑层、数据库访问层、应用集成层等,但最终系统打包成一个WAR或者EAR单一文件形式,该文件包含了所有的系统特性及功能,并通过集中部署的方式实现系统运行,通过部署在多台服务器上并结合负载均衡实现业务的高可用性,如图1单一架构应用系统所示。应用系览图1单一架构应用系统这种架构方式随着系统的演进,系统规模越来越庞大,子系统及模块之间的关系也越来越复杂,后续的开发及维护成本也不断提高,

4、已经无法满足移动互联网应用对于系统的快速版本迭代及上线的需求,同时也严重影响了系统开发的效率。针对单一架构应用系统暴露的问题,基于微服务架构的应用系统(以下简称微应用系统)应运而生。微应用系统由一组规模较小的服务构成,每个服务以独立进程的方式单独运行,它们之间通过轻量级的进程间通信机制如RESTAPI进行通信,这些服务根据业务逻辑进行划分,每个服务有自己单独的数据库,通过自动化部署方式每个服务可以独立进行部署。微应IIH应川交付罷WAR・%®%*!TomcatWARTomcatWAR*岛

5、■林Tomcat业势察合H1业务IB鈿泉图2微应用系统架构在微应用系统架

6、构中先在业务服务层,每个业务服务以独立进程服务模式运行,实现特定的业务逻辑,并有独立的数据库实现数据存取,与其他业务服务之间通过良好定义的API接口进行交互。业务聚合层负责对业务服务层的服务进行聚合,对服务调用返的数据进行聚合及数据协议转换,对外提供更粗粒度的服务接口。应用交付层负责对外提供系统应用层接口,对服务调用返回的结果根据用户终端进行优化,根据用户行为分析为用户提供定制化的展示方式。12微应用系统建设面临的挑战微应用架构中应用内的各个服务可以独立、动态的进行伸缩,当服务进行伸缩时,其他调用方服务需要能够找到该服务的服务实例,并与之进行通信,使得请求能够

7、分布到所有的服务实例中,从而实现该服务的水平可扩展性。另外在服务调用过程中也需要通过负载均衡策略能够将针对该服务的请求均匀分布到所有的服芻实例。在大规模微应用系统服务化之前应用可以通过RMI或者Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用,通过F5等硬件进行负载均衡。但随着微应用系统中服务越来越多,系统面临着越来越多的挑战:■当服务越来越多时,服务URL配置管理变得非常困难,F5硬件负载均衡器的单点压力也越来越大。此时需要一个服务注册中心,动态的注册和发现服务,使服务的位置透明。并通过在消费方获取服务提供方地址列表,实现软负

8、载均衡和Failover,降低对F5硬件负载均衡器的依赖,也能减少部分成本。■微应用中由于各个服务的独立性,任何服务的弹性伸缩、版本升级、系统故障等都可能导致该服务的状态发生变化甚至不可用,如何能够让服务使用者不受任何影响;■微应用中每个服务都有自己独立的数据库,因为微应用拆分导致的原来在一个数据库的表被分散到了多个数据库,需要对服务屏蔽分布式数据库带来的复杂操作,为跨多个数据库的操作提供统一的数据访问方法;■随着服务的调用量越来越大,服务的容量及性能问题就暴露出来,系统的扩容及运行优化需要性能监控及参数调整,所以需要监控服务的调用量、响应时间等,作为容量规划

9、的参考指标。其次,要可以动态调整权重,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。