一、Nacos环境搭建
Nacos 服务注册与发现中心是一种可以用来实现微服务之间服务注册与发现的解决方案。以下是一个使用 Nacos 作为服务注册中心的简单示例:
首先要先搭建nacos环境并运行。
在nacos官网下载nacos-server源码:Nacos Server 下载 | Nacos 官网
最新版的是2.4.2.1版本的,小编自己用的是2.0.3版本的,相差不大
注意:nacos 依赖数据库,所以启动前需要配置数据库的连接信息
用数据库管理软件运行数据库文件,得到一下数据库表
之后就可以启动nacos了。
进入到nacos/bin文件目录下,打开命令提示符,输入startup.cmd -m standalone
显示此页面就表示启动成功,之后在浏览器中输入http://192.168.111.1:8848/nacos/index.html
就可以访问了,默认的用户名和密码都是nacos。
查看注册服务
配置管理 -> 服务列表
此时的服务列表空无一物,那是因为我们还没有服务注册和发现服务。
二、服务注册和发现服务
首先我们需要一个spring boot项目来作为服务项
这里以micro_server为例。
provider 服务注册
在server_provider的pom配置文件中添加nacos依赖(版本号请酌情选择)
然后就是配置注册中心ip
注意服务名称,端口已经服务注册地址
最后再在启动类里添加注解@EnableDiscoveryClient,在这之后就可以启动啦
启动之后就可以在nacos的服务列表中看到我们启动的服务啦
consumer发现服务
与前文provider服务注册步骤相同
pom添加依赖,配置注册中心依赖,启动类添加注解@EnableDiscoveryClient
需要注意的是consumer注册中心的IP端口不可以provider的端口一致,否则会无法启动consumer
之后再在HelloController类中使用【发现】服务,修饰RestTemplate 变量
添加代码
String providerBack = restTemplate.getForObject("http://localhost:8081/provider/hello", String.class);
(consumer发现服务的端口是provider的端口,端口不一致会导致页面失效)
在启动consumer后在浏览器中输入consumer提供的端口,即http://localhost:8081/provider/hello
以确认是否有provider的返回