当前位置:主页 > 查看内容

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

发布时间:2021-06-25 00:00| 位朋友查看

简介:哈喽各位同学们大家好呀 小编今天带着开发者学院中课程“Dubbo集成Nacos注册中心实战”干货总结来了~这是Dubbo 分布式服务治理实践最后一篇哦 一起学习新课程吧 课程链接以及图谱地址小编已经为大家指路了 搭配学习效果更佳 课程名称 Dubbo集成Nacos注册中心……

哈喽各位同学们大家好呀 小编今天带着开发者学院中课程“Dubbo集成Nacos注册中心实战”干货总结来了~这是Dubbo 分布式服务治理实践最后一篇哦 一起学习新课程吧

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

课程名称 Dubbo集成Nacos注册中心实战?

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

图谱名称 Alibaba Java 技术图谱

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

Dubbo集成Nacos注册中心实战


这节课讲的是Dubbo集成Nacos注册中心实战 Nacos当前在微服务领域非常有名 不仅仅支持Spring Cloud 而且支持Dubbo服务集群 当然也支持GO语言等客户端进行集成 是非常优秀的注册中心架构。另外Nacos还可以做配置服务 对标携程开源的阿波罗注册中心 大规模集服务集群配置向外迁移的时候可以使用Spring Cloud、Nacos等服务。?

一、Dubbo集成Nacos注册中心?

一 Nacos注册中心?

Nacos是阿里巴巴开源的新一代分布式服务注册和查找架构 提供配置和管理微服务 构建以“服务”为中心的现代应用架构等等 功能非常强大 总结如下 ?

1.?Nacos微服务动态服务发现、配置管理和服务管理工具平台。?

2.?Nacos?致力于帮助发现、配置和管理微服务。?

3.?Nacos?帮助更敏捷和容易地构建、交付和管理微服务平台。Nacos?是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。?

4.?Nacos支持几乎所有主流的“服务”的发现、配置和管理。?

5. Kubernetes Service。?

6.?gRPC? ?Dubbo?RPC Service。?

7. Spring Cloud RESTful Service。?

8.?https://nacos.io。?

image.png?

?

二 Dubbo集成Nacos注册中心?

Dubbo和?Nacos进行集成 很重要的一点是 Dubbo作为分布式服务治理框架 可以写服务接口 Dubbo本身与Nacos并没有交集 Nacos起到注册中心和配置中心的作用 但是有统一标准的通信协议。提交数据做集成时 Nacos专门为Dubbo开发Nacos客户端 集成时依赖Nacos客户端 然后配置一下 向注册中心提交数据。Nacos?作为?Dubbo?生态系统中重要的注册中心实现 其中?dubbo-registry-nacos?则是?Dubbo?融合?Nacos?注册中心的实现。?

?

三 Dubbo分布式架构?

回顾Dubbo分布式架构架构 最简单的架构就是调用端、服务端、注册中心 向外扩展有很多功能 如注册中心 应用监控、大规模服务集群的负载均衡等。这是Dubbo比较牛逼的地方。因为在Spring Cloud大规模流行之前 实际Dubbo已经实现解决了这些问题 Dubbo本身也是一个生态 很多功能并没有在自己的范围内解决。阿里开源其他框架 帮助协调解决大规模服务集群的治理工作。?

image.png?

?

二、Dubbo集成Nacos注册中心实战?

一 Dubbo集成Nacos实战步骤?

Dubbo集成Nacos实战的关键步骤 首页构造一个Dubbo服务 给Dubbo配置Nacos客户端依赖 再配置Nacos注册中心的地址 还需要提前启动Nacos注册中心的服务 然后Dubbo服务才可以在Nacos注册中心里面进行注册。推荐使用?Dubbo?2.6.5以上的版本 不建议再用之前的版本 涉及Nacos客户端依赖 一般使用1.2.0以上版本 最新是1.4.0 太旧的版本不推荐用 容易遇到兼容性等问题。步骤总结如下 ?

??启动Nacos注册中心 ?

??Dubbo改造加入dubbo-registry-nacos?依赖 ?

??dubbo-registry-nacos?的 Maven 依赖pom.xml 文件中 ?

??推荐您使用?Dubbo?2.6.5 。?

Dubbo的pom.xml 文件 ?

image.png?

二 Nacos监控Dubbo服务?

上线完成以后 Nacos自带web的界面 可以打开看一下整个服务列表 还有配置管理等一系列复杂的功能。启动服务注册里面有详情的详情、删除等操作功能 可以进行更详细的管理工作。?

image.png?

?

三 实例演示 ?

官方参考资料 http://dubbo.apache.org/。官方的例子比较复杂 需要很多依赖包 这里演示一个简单的例子。?

首先构建一个Dubbo服务 Dubbo服务没有分包 直接放在根目录下面 有接口实现 放在同一个目录下面 就是一个“sayHello”包。传一个字符串 就返回一个字符串 基本上有一个实现类型。?

image.png?

?

这里面基于是“SringBoot” 做了一个?Dubbo的服务端 Dubbo3.0之后在进化 支持Spring Cloud微服务架构体系 可以提供REST API 也可以做云原生 比较灵活。?

注意看一下配置文件 两个关键点 一个是Dubbo的起步依赖 选的是2.7.8 一个是Nacos选的是1.2.1。?

image.png?

配置文件 首先要配置自己的名字 这里是“dubbo-provider-demo” 还有指定扫描的包 这里是叫“com.alibaba”,下面是nacos的一个例“nacos://127.0.0.0:8848”。?

image.png?

?

这时需要提前启动nacos 下载完成以后有一个解压包 可以直接启动。注意是单点模式启动 直接双击 有一个脚本 我们在windows上直接启动就ok。看一下窗口界面有一个地址 这个地址是启动完成以后会有一个管理界面 第一次登录需要输入用户、密码。?

image.png?

?

把这个地址粘贴到网页 转到Nacos管理界面 现在看服务列表 里面还没有服务 因为服务还没有上线。?

image.png?

现在可以启动服务端 客户端到服务端需要连注册中心找到服务端进行调用。涉及包依赖 主要是如下两个依赖 ?

image.png?

造成REST API作为调用的控制器出口 这里可以传一个字符串 然后让后台通过服务代理来调 里面的接口实现一模一样。如果在同一个工程里面 可以依赖同一个包 可以把Controller拆出来。这里基本没变 还是“SringBoot”?程序。?

image.png?

?

下面是“Dubbo-client-demo”client的意思是消费者 意思就是调用客户端的评论或支付信息。?

image.png?

?

这样一个过程 就是一次调用 也可以称为是一次命令“Order” 在电商系统里面“Order”被翻译成订单。模拟 Java架构中 服务端向注册中心注册一个端口 注意端口不能重复 过程中不能出现错误。完成后刷新一下 Nacos界面服务列表中已经显示出来我们的“com.alibaba”服务,说明服务端的服务已经上线。?

image.png?

?

点打看一下详情 可以看到用到的方法、release等服务相关的描述信息 使用非常方便。?

image.png?

?

点击服务列表界面的“示例代码” 会告诉你如果通过其他服务做请求 代码应该怎么写 还有微服务架构怎么集成 这是Nacos非常优秀的地方。?

image.png?

?

接下来上线客户端 启动客户端来模拟服务调用 上传一个字符串 严格来说是一个代理。这里叫做“proxy” 实际是服务端的接口 客户端通过“proxy”接口生成一个变量创建实例 严格的说是创建一个代理对象 用于调取后台的远程服务接口。?

image.png?

?

模拟启动客户端 传入字符串 调用接口 到Nacos服务界面刷新 可以看到服务列表里多出一条“consumers”服务 属于调用端。?

image.png?

端口是“9001” 地址是”sayHello” 然后通过Dubbo传送 返回结果正常 换成Java 返回结果也是正常的。正常情况下 字符串是从服务端返回来的 客户端通过代理对象调用远程服务 获取信息。这是典型的RPC架构,用Nacos注册中心 非常容易就可以实现。?

image.png?


本文转自网络,原文链接:https://developer.aliyun.com/article/784882
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:AI人工智能如何赋能教育? 下一篇:没有了

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐