Nacos安装、服务注册和服务发现
一、Nacos安装
1.下载
在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:
GitHub主页:https://github.com/alibaba/nacos
GitHub的Release下载页:https://github.com/alibaba/nacos/releases
windows版本使用nacos-server-1.4.1.zip包即可。
2.目录说明:
- bin:启动脚本
- conf:配置文件
3.端口配置
Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。
如果无法关闭占用8848端口的进程,也可以进入nacos的conf目录,修改配置文件中的端口
4.启动
启动非常简单,进入bin目录
然后执行命令即可:
-
windows命令:
startup.cmd -m standalone
执行后的效果如图:

5.登录nacos
浏览器访问:http://localhost:8848/nacos/index.html进入登录页面
账号密码均为:nacos
二、服务注册到nacos
Nacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册、服务发现规范。因此使用Nacos和使用Eureka对于微服务来说,并没有太大区别。
主要差异在于:
- 依赖不同
- 服务地址不同
1.引入依赖
在父工程的pom文件中的<dependencyManagement>中引入SpringCloudAlibaba的依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.6.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
然后在user-service和order-service中的pom文件中引入nacos-discovery依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.配置nacos地址
在user-service和order-service的application.yml中添加nacos地址:
spring:
cloud:
nacos:
server-addr: localhost:8848
3.重启
重启微服务后,登录nacos管理页面,可以看到微服务信息:

三、服务发现
在order-service的OrderApplication中,给RestTemplate这个Bean添加一个@LoadBalanced注解:
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
修改order-service服务中的cn.itcast.order.service包下的OrderService类中的queryOrderById方法。修改访问的url路径,用服务名代替ip、端口:
String url="http://userservice/user/"+ order.getUserId();
User user = restTemplate.getForObject(url, User.class);
浙公网安备 33010602011771号