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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: Dubbo 分布式服务治理实践课时4——Dubbo分布式Order订单服务集群治理实战 。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!

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

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

课程名称:Dubbo分布式Order订单服务集群治理实战  

课程地址:https://developer.aliyun.com/learning/course/72/detail/1188?spm=a2c6h.12873639.0.0.70672e8aSWMLvg

图谱名称:Alibaba Java 技术图谱

图谱地址:https://developer.aliyun.com/graph/java?spm=a2c6h.21110250.J_5703890090.6.700e3c67EjOBeJ


Dubbo分布式Order订单服务集群治理实战


这节课模拟淘宝订单服务看如何使用Dubbo,之前提到Dubbo有许多不同协议,包括核心部分注册中心客户端服务端。注册中心要先上线,类似微服务架构,可以用zookeeper注册服务中心注册。 

 

一、Dubbo分布式集群架构 

实战开发首先安装JAVA开发环境,Dubbo需要加部分依赖,因为Dubbo没有快速创建的模板,需要自己构建服务端注册中心等,客户端添加依赖进行开发。 

Dubbo是典型的分布式集群架构先理清楚整个项目的结构关系,消费者是订单的调度端,服务端是订单的增、、改、查的服务,注册中心可以采用Zookeeper也可采用Nacos,具体项目可以继续扩展,如加入订单服务、支付服务、商品服务、账号服务等相关服务集群。目前先模拟一个服务,然后再到多个服务,单条线路跑通再做周边的服务开发。 

image.png 

 

二、Dubbo分布式Order Service集群架构 

Dubbo模拟订单服务,有服务的订单就是服务端,需要host容器,可直接用自定义开发的控制台程序,需要在服务端定服务实现或服务接口,客户端要实现调度端或有代理对象。注意,还需要Zookeeper注册中心,可用内嵌的Zookeeper服务,也可独立部署Zookeeper服务。 

服务端的配置文件和客户端的配置文件要配置服务端配置文件主要是服务的端口地址以及需要用哪些服务类型。客户端配置文件主要是要调用服务,注册中心的位置使用什么协议关键参数 

image.png 

 

三、Dubbo订单服务集群调用实战 

模拟整个开发工作,API端是服务接口客户端是客户端程序,客户端程序通用API代理,后面会调用后端真正的服务,真正的服务托管在Provider是远程服务提供方,规范服务类型托管、运行、接受请求。 

如下图所示,Provider复制了4份,参考其中一个代码,是 main函数。 

image.png  

启动后有自己的主进程去加载Bean启动接受请求,会模拟起ZookeeperZookeeper是嵌入式模拟注册中心配置文件对应的是provider,看核心参数 

image.png 

要配置一下Zookeeper注册中心地址,使用的协议是Dubbo原生协议。然后配置服务,服务接口暴露给客户端使用。 

之前复制了4provider,后面多启动几个服务,主要用于模拟集群,比如订单服务要起330300台,是一对多的过程。同理自己的配置文件,因为在同一台机器上,配置不一样,端口要变 同一台机器上模拟各个不同端口。如下图所示,端口是“20893”: 

image.png 

模拟几台机器一个群,当这几台实例上线以后,都会Zookeeper进行注册,输入成功以后客户端进行调用客户端调用订单服务订单通过ID查询订单打印下返回字符串。具体项目可以通过JDBC等链接数据库。 

调度端里面是Dubbo的订单接口,模拟死循环,不断循环向客户端发请求 

image.png 

客户端代理对象是proxyproxy起客户端代理作用,获取配置文件 Beanba的配置信息,调取方法:通过创建对象调取订单接口,根据ID模拟调用情况返回结果。循环调用实际上只起了一个客户端,只不过每隔一秒调用一次 

image.png 

 

四、Dubbo订单服务集群 

模拟集群,调用服务端一台机器的效果,调用客户端,虽经过注册中心,但客户端经过注册中心调用后端。如下图所示,每隔一秒调后端,显示20890”: 

image.png 

说明这台服务器只有一台,再怎么轮询负载均衡都台机器。这时启动第二台服务器,逐步上线更多服务,如下图所示,有“20890”、“20891”,两台机器都被调用了。 

image.png 

再上线第三台,客户端本身加载最新服务列表有时间,这里会有延迟,涉及服务上线和客户端发现最新的服务列表的过程这个机制跟微服务架构很像。 

这里面第二台服务器已经出来,正常生产环境下,客户端和服务端通过注册中心解耦,可进行服务集群的灵活扩容,平时只有100台,但在双11的时候可以加到1000。体现了Duddo相比传统简单架构,往更高级别灵活性弹性集群架构进行升级扩展Duddo还有性能监控功能、生产环境的上线下线等功能在当年背景下,阿里能够做出这种框架,并且在生产环境下大规模验11验证非常牛 

分析整个Duddo架构,整个设计思想解决问题,比当前的微服架构协议更灵活、部署方式更灵活架构更原生。现在Spring Cloud在全球范围内使用更广生态文档更完善,但实际Duddo体系更单一,功能更丰富,性能更高Duddo的并发性一定比Spring Cloud高,Duddo以灵活的在局域网和公网之间协议切换 

现在Duddo结合阿里其他框架逐步做分布式大规模集群治理生态的完善工作,虽然有些已经开始对接Spring Cloud微服务,但并不是重点。严格来Spring Cloud体系里面的协议,只是Duddo的一种,Duddo后面会做的越来越好Duddo3.0版本在做的云原生、服务治理、安全与性能监控等模式支持都非常优秀 

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
Kubernetes Dubbo Cloud Native
阿里云开发者学堂电子书《Dubbo分布式服务治理实战》重磅来袭!
Dubbo 是阿里巴巴开源的高性能分布式 RPC 服务治理框架,已经捐献给 Apache 开源组织,最新的版本是 3.0。在阿里巴巴、工行、电信、银联、中国人寿、网易、滴滴、当当等互联网公司中大规模使用,历经双 11 等流量检验。
阿里云开发者学堂电子书《Dubbo分布式服务治理实战》重磅来袭!
|
监控 负载均衡 Dubbo
开发者学堂课程干货总结——Dubbo 分布式服务治理实践(一)
Dubbo 分布式服务治理实践课时1——Dubbo分布式框架介绍与3.0新特性 。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Dubbo 分布式服务治理实践(一)
|
监控 Dubbo Java
开发者学堂课程干货总结——Dubbo 分布式服务治理实践(四)
Dubbo 分布式服务治理实践课时4——Dubbo分布式Order订单服务集群治理实战 。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Dubbo 分布式服务治理实践(四)
|
Dubbo 网络协议 NoSQL
开发者学堂课程干货总结——Dubbo 分布式服务治理实践(三)
Dubbo 分布式服务治理实践课时3——Dubbo2.0分布式RPC协议解析 。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Dubbo 分布式服务治理实践(三)
|
监控 Dubbo Java
开发者学堂课程干货总结——Dubbo 分布式服务治理实践(二)
Dubbo 分布式服务治理实践课时2——Dubbo分布式加与大规模服务集群治理 。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Dubbo 分布式服务治理实践(二)
|
监控 Dubbo Cloud Native
开发者学堂课程干货总结——Dubbo 分布式服务治理实践(五)
Dubbo 分布式服务治理实践课时5—Dubbo集成Nacos注册中心实战。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Dubbo 分布式服务治理实践(五)
|
Java API Android开发
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(十五)
Spring Cloud微服务架构设计与开发实战课时2.4—Spring Cloud声明式调用客户端Feign 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(十五)
|
设计模式 前端开发 Java
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(九)
Spring Cloud微服务架 Spring Cloud微服务架构设计与开发实战课时1.9—微服务架构中的经典设计模式 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(九)
|
敏捷开发 运维 监控
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(三)
Spring Cloud微服务架构设计与开发实战课时1.3—微服务架构Microservice的优缺点 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(三)
|
Oracle Java 关系型数据库
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(五)
Spring Cloud微服务架构设计与开发实战课时1.5—微服务架构的淘宝案例 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(五)