励精图治:Dubbo分布式服务治理
Posted DIST上海数慧
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了励精图治:Dubbo分布式服务治理相关的知识,希望对你有一定的参考价值。
伴随着业务和需求的不断扩充与完善,一张图、多规等产品的服务规模不断扩大,如此众多的服务,从设计、开发、运行、编排、维护到治理,每一个环节都需更深入仔细的思考,才能使应用系统顺利运转起来。如今,常规的垂直应用架构已无法满足多产品的大型系统,亟需一个治理服务的系统架构,来降低系统的复杂度和耦合度,提升组件的内聚性、敏捷性。因此,分布式服务架构势在必行。
服务框架演变历程
上海数慧服务框架经历了从单一应用逐步拆分和重组,继而演变成面向服务架构的过程。
1、单一应用架构:当服务量很小的时候,通过一个应用,将所有功能都部署在一起,以减少部署节点和实施成本。在这一架构中,用于简化增删改查工作的数据访问框架(ORM)是关键。
2、垂直应用架构:当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,所以需要将应用拆成互不相干的几个应用,降低功能之间的耦合度,以提升效率。在这一架构中,用于加速前端页面开发的Web框架(MVC)是关键。
3、分布式服务架构:当垂直应用越来越多,应用之间的交互不可避免,所以需要将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,从而使前端应用能更快速地响应多变的市场需求。在这一架构中,用于提高业务复用及整合的分布式服务框架(RPC)是关键。
4、面向服务架构:当服务越来越多,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心,基于访问压力实时管理集群容量,以提高集群利用率。在这一架构中,用于提高机器利用率的资源调度和治理中心(SOA)是关键。
Dubbo分布式框架和服务治理
Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持。
01
Dubbo架构
Dubbo作为基于RPC的通信框架在底层封装了NIO 通信框架Netty、常用的序列化反序列化机制,并为应用层提供了线程池和消息调度器,使得业务可以快速实现跨进程的远程通信。对于使用者而言,不需要关心底层的通信细节,只需要关注业务实现,极大的提升了应用的开发效率。
- Dubbo的整体架构 -
由服务注册中心、服务提供者、服务消费者和服务监控中心协同运作构成了整个Dubbo的分布式服务架构。
02
Dubbo服务治理
Dubbo分布式架构在带来便利的同时,也产生服务管理的需求,比如管理服务之间的调用链、依赖关系、服务的负载均衡、监控等等,下表详细列出了其功能特点和分布式需求。
- Dubbo框架的服务管理策略 -
Dubbo框架的服务管理策略:通过服务路由、负载均衡算法和容错机制,从服务提供者列表中选出具体的提供者。
提供者列表:由多个相同服务提供者的集群信息列表,它的值可能是动态变化的。如来自注册中心推送变更导致的变化。
提供者集群:旨在将提供者列表中的多个提供者伪装成一个提供者,对上层透明,伪装过程设有容错机制,当调用提供者失败后,会根据集群容错策略重试另一个提供者。在调用具体的提供者之前,会根据服务路由和负载均衡对提供者进行筛选和过滤。
服务路由:负责从多个提供者列表中按路由规则选出子集,包括读写分离,应用隔离等。
负载均衡:负责从多个提供者中按照负载均衡算法选出具体的提供者为消费者提供服务,若调用失败,则需要重选。
Dubbo分布式服务治理框架是一套完整的服务管理方案,用来协助上海数慧的系统和产品进行服务化改造,并根据客户的具体应用场景构造更适合的服务化体系,将服务化的价值发挥到极致。基于分布式服务框架,使开发者能够将精力集中于应用层的逻辑开发中,从而极大地提升研发效率和系统可靠性。
End
转载声明
○
无原创标识的文章请按照转载要求编辑,可直接转载,转载后请将转载链接发送给我们;
○
以上是关于励精图治:Dubbo分布式服务治理的主要内容,如果未能解决你的问题,请参考以下文章