微服务学习-SpringCloud -Nacos (单机部署)
文章目录
- 1,单机服务服务端搭建
- 2,单机客户端搭建
- 3,编写简单的客户端代码,实现注册中心调用
1,单机服务服务端搭建
- 在nacos github上选择对应的版本下载,我下载的是2.1.1稳定版本。可下载windows或者linux版本,或者直接使用docker容器部署。
链接:官方网站地址
- 下载完成后解压文件,Windows下使用命令窗口,到bin目录下,执行以下命令:
startup.cmd -m standalone
standalone代表着单机模式运行,非集群模式
启动成功后如下图:
然后打开nacos管理台:
http://127.0.0.1:8848/nacos
用户名/密码:nacos/nacos(默认值)
进入后界面如下:
这样服务端就算启动成功了。具体可参考官方手册:
链接:官方手册
2,单机客户端搭建
- 客户端搭建时各个版本依赖很重要,可以参考官网wiki:
- 链接: 官方wiki
- 以下是我使用的版本
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.12.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR8</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.5.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.5.RELEASE</version>
</dependency>
配置文件中添加nacos地址:
启动服务:
打印如上内容时,说明服务已注册成功。现在查看管理台:
服务已成注册。
3,编写简单的客户端代码,实现注册中心调用
没有使用注册中心时,请求需要加对应的IP:端口
使用了nacos注册中心后,修改为对应的服务名即可,调用方不感知被调用服务的ip:端口。
此时调用时会报UnknownHostException错误。
因为此时调用需要使用LoadBalanced进行负载均衡,因为实际使用中机器不止一台,需要根据策略进行负载,所以需要加LoadBalanced。
加入Pom依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
RestTemplate加@LoadBalanced注解
此时正常调用服务。