开发者学堂课程干货总结——Dubbo 分布式服务治理实践(二)

哈喽各位同学们大家好呀,小编今天带着开发者学院中课程Dubbo分布式加与大规模服务集群治理”干货总结来了~一起学习新课程吧!

课程链接以及图谱地址小编已经为大家指路了,搭配学习效果更佳????

课程名称:Dubbo 分布式服务治理实践

课程地址:https://developer.aliyun.com/learning/course/72/detail/1186

图谱名称:Alibaba Java 技术图谱

图谱地址:https://developer.aliyun.com/graph/java


Dubbo分布式加与大规模服务集群治理 


一、Dubbo分布式架构 

开发者学堂课程干货总结——Dubbo 分布式服务治理实践(二) 

Dubbo架构主要分为两个部分:客户端服务端,也可称为Dubbo消费者和Dubbo提供者。 

例如电商网站,要调支付服务、物流服务订单服务监控服务、大数据服务等,服务是某些功能的封装,这些是提供者所提供的服务。作为客户端的话,用户要调用这些服务去完成某些业务功能因为客户端和服务端是位于不同进程,位于分布式网络中不同的节点上这是典型的一个架构。如果客户端和服务端两个都是单体的话,则为最简单的分布式架构。 

随着业务的不断发展,架构会不断演化有些业务是大规模的集群,此时单点调用无法解决问题这是由于服务端可能有10台100台1000台甚至更多。同样的服务有时候上线有时候下线,无法预估有多少台可能会上线,多少台会下线,此时需要使用集群的弹性收缩功能解决这个问题。 

如果集群从上线到下线到运行一直都是10台,则正常情况就能满足需求。但如果在某些大型业务场景,例如双11平时10台可以满足的业务,在双11的时候可能需要1000台,甚至上万台进行支撑因此不同的业务集群规模是不一样的小规模集群可能直接基于IP进行集群搭建就可以,大规模集群则需要对接多个不同的局域网,基于域名的方式进行调度的情况可能更多一点。 

因此,Dubbo分布式架构不仅是客户端和服务端消费者和提供者这样调用关系,它解决的是大规模客户端与大规模服务端的管理问题。 

简单的架构要解决技术问题的话,它还需要有一个注册中心,还有应用监控中心,这就是典型的Dubbo早期解决问题。 

 

 

二、Dubbo分布式集群架构 

这个基础上,如果服务是不定数量的大规模集群,就需架构进一步去升级改造。 

开发者学堂课程干货总结——Dubbo 分布式服务治理实践(二) 

注册中心可能是个集群,监控中心可能是个集群,在大型业务场景下,服务可能也是个集群。 

无论是支付服务、订单服务、商品服务、账号服务等,都可以根据自己的实际的并发需求,去部署不定规格、不定数量的大规模服务集群。Dubbo联合其他技术人员给用户提供快速上线包括管理的服务Dubbo不仅解决分布式调用的问题,还解决了多协议大规模集群的治理问题,这也是Dubbo在其他大型互联网公司中收到广泛好评的原因 

 

 

三、Dubbo核心组件 

  • Dubbo主要有以下核心组件: 
  1. Provider:服务的提供方,通过Jar或者容器的方式启动服务 
  2. Consumer:服务消费方 
  3. Registry:注册中心 
  4. Monitor:统计服务和调用次数,调用时间监控中心。(Dubbo的控制台页面中可以显示,目前只有一个简单版本 
  5. Container:服务运行的容器 

 

 

四、Dubbo SOA服务治理 

开发者学堂课程干货总结——Dubbo 分布式服务治理实践(二) 

Dubbo诞生于SOA盛行的2008年,早期基于Web Service中心SOA服务治理,后面在这个基础上逐渐开始大规模的扩充,服务之间关系越来越复杂。此时需要治理中心,用来做大规模的流量调度、监控等,这些都是极具挑战性的问题,因此阿里开发了很多工具在内部去解决这些问题。 

对于这些挑战性问题,Dubbo的许多观点思想与目前微服务架构Spring Cloud不谋而合。这是由于微服务到大规模集群的层次上,无论怎么拆,它终究会面临这些问题,例如熔断限流,负载均衡,流量调度,安全治理等。 

2013~2017年Dubbo疏于维护,而这是Spring Cloud蓬勃发展时期,逐渐成为世界级微服务框架,但从某种程度上来说,Dubbo可以称为Spring Cloud的前辈。 

 

 

五、Dubbo未来底层同步与异步架构 

开发者学堂课程干货总结——Dubbo 分布式服务治理实践(二) 

Dubbo从3.0版本开始,也在做服务高并发协议等方面的改造如云原生支持的改造,去支持底层的高并发高吞吐量,去对接K8s云原生的工具,协议层支持RPC等新的类型,从而让Dubbo整个通信协议更多样化,使用户在不同场景下可以选择不同的实践方式。 

异步请求和同步请求各有优势,异步请求优势在于非阻塞,同步请求的优势在于即时性,但如果是阻塞操作、长时间操作的话,可能会导致线程卡死的状况,影响整体的并发。 

Dubbo整个分布架构是更高层级的架构,它是大规模服务集群,不仅仅是开发落地,而且要大规模服务治理,它的实践经验给其他互联网公司的架构提供了很好的参考。 

 

 

六、Dubbo分布式架构与Remoting 

开发者学堂课程干货总结——Dubbo 分布式服务治理实践(二) 

Dubbo分布式架构的远程通讯(Remoting提供对多种NIO框架抽象封装,包括“同步转异步”和“请求-响应”模式的信息交换方式 

上一篇:vim下如何去掉windows编辑的文件中的^M


下一篇:处于风口浪尖的区块链和人工智能,联手在这些领域落地有声