哈喽各位同学们大家好呀,今天是开发者学院中课程“Spring Cloud微服务架构设计与开发实战”的章节三的“实战Spring Cloud微服务注册到Nacos注册中心”干货总结~是一起学习新课程吧!
课程链接以及图谱地址小编已经为大家指路了,搭配学习效果更佳👇
课程名称:实战Spring Cloud微服务注册到Nacos注册中心
课程地址:https://developer.aliyun.com/learning/course/60/detail/1096
图谱名称:Alibaba Java 技术图谱
图谱地址:https://developer.aliyun.com/graph/java
实战Spring Cloud微服务注册到Nacos注册中心
一、下载安装、启动Nacos服务
(一)微服务集成Nacos
Nacos是阿里巴巴开源的注册和配置中心,Nacos目前在Spring Cloud微服务开发方面用的比较多,不仅是之前的Dubbo,和其他语言结合的也比较好。
在做实战的时候,首先下载安装整个Nacos服务。Nacos服务对比Eureka,Eureka需要自己构建Spring Cloud项目,加入Eureka的依赖,改配置、加注解,然后启动;Nacos是已经构建完成打包好的,直接官方下载最新的解压包,启动就可以了,当然也可以改默认的配置,不改也行。
接下来升级改造微服务架构,把微服务注册到Nacos服务上,再调用微服务。
操作总结:
1. 启动Nacos;
2. 微服务注册到Nacos;
3. 客户端连接Nacos,调用微服务。
(二)启动Nacos服务器
打开官网https://github.com/alibaba/nacos。下载cmd startup.cmd 或者双击 startup.cmd 文件。
startup.sh直接启动,“-m”是指定参数,用class表示是集训模式,不用class用standalone表示单点模式。开发设置阶段可以用单点模式,生产环境下可以用集群模式,保证可用性、高并发。Linux/Unix/Mac、Windows系统都可以使用。
• https://github.com/alibaba/nacos。
• Linux/Unix/Mac。
• Standalone means it is non-cluster Mode. * sh startup.sh -m standalone。
• Windows;
• cmd startup.cmd 或者双击 startup.cmd 文件。
(三)Mac OS苹果系统启动Nacos
二、修改Spring Cloud微服务项目注册到Nacos中心
(一)Java Spring Cloud微服务
改造微服务最重要的是加入Nacos依赖,假设Nacos已经开启,接下来将改造微服务项目注册进来,改配置文件,配置文件地址把之前Eureka地址换掉就可以了。
• POM
• <dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
• </dependency>
• 配置
• server.port=18080
• spring.application.name=microservice
• spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
• 代码 REST API
(二)验证微服务API
三、Nacos微服务管理中心
注册进来以后,Nacos可以提供监控、管理微服务,配置一系列更新操作等,非常方便进入Nacos的监控界面,登录可以看到服务的监控信息、有哪些服务、服务列表状态。Nacos有中文版和英文版,可以直接使用,还有权限控制、命名空间、集群管理、统一配置服务、配置推送等功能。
实践演示:
直接在Nacos官网下载,可以切换成中文模式,Nacos不仅支持Spring Cloud,还支持Spring Boot、Dubbo、Docker、k8s、Syns等。演示用1.4.0版本,点击下载。
下载后本地有“startup.sh”解压包,演示为WIN 10系统,运行输入“cmd”。运行框输入“cd nacos/bin”,再输入“nacos bin>startup.cmd-m standalong”启动。
这有个管理界面,正常启动下面会有一个提示,下面有日志“nacos\logs”、配置文件“nacos\conf”用于改集群、改默认端口,数据文件的位置“nacos\data”。
大家可以看一下nacos的解压包,包括data、logs、conf等。
Conf文件下面还有一个功能是,如果希望nacos与本地的MySQL或者远程的MySQL数据库进行对接,监控信息或服务令牌或配置信息不想丢掉,可以改一下服务,在配置文件里加入MySQL的用户密码,直接可以对接进去,这是创建表结构。
复制http://192.168.111.1:8848/nacos/index.html地址,到浏览器,打开nacos登录界面,输入用户:nacos,密码:nacos。
进入nacos管理界面,点开服务列表页面,目前列表里面是空的,上面有生产环境、开发环境、测试环境。
接下来改造微服务,首页要加入nacos依赖包,注意版本兼容性问题,这里使用的是2.2.3版本,
底层用的是“@EnableDoscoveryClient”,如下图所示:
配置文件改成“127.0.0.1:8848”,表示注册中心的位置。
然后右击启动微服务,注意现在的端口是8201。
正常情况下,微服务应该上线了,进入nacos服务列表界面,刷新可以看到有一条“taobao-nacos-microservice”淘宝的微服务。
点击“详情”,可以看到详细的监控信息:
点击“示例代码”,可以看到已经生成了客户端的调用代码,而且还包括Java、Spring、Spring Boot、C++等多种语言的调用代码。
同理,还可以改造调用端“feign”,先将依赖加进来,改配置文件,再把注册中心替换一下。想办法把程序集成进来,启动调用端。
再到Nacos服务列表界面查看,可以看到一条“nacos-feign”服务。
同理也可以多启动几个微服务,复制上面的“taobao-nacos-microservice”淘宝的微服务,将端口修改成“server.prot=8202”,然后启动。
再到Nacos服务列表界面查看,可以看到实例数变成了“2”个,属于默认的集群里已经有两个实例,健康实例数也是2,说明操作成功。