地址:https://nacos.io/zh-cn/docs/what-is-nacos.html
服务的提供者 &服务的消费者是相对的概念
比如用户服务是订单服务的消费者,订单服务是用户服务的提供者。 但是对于 订单服务---->库存服务,那么订单服务就成为服务消费者。
为什么要用Nacos?
在没有注册中心nacos时候,我们一般使用RestTemplate 调用方式来进行调用
但是这样调用的缺点很大:
- 在调用时候,写的端口号和ip地址都是写死的,很扯淡吧,如果服务提供方换了端口号或者ip,那我们就要重新配置项目和上线,基本上就凉了
- 运维管理起来容易出错,比如说,当我们某个服务压力过大,例如order订单服务吧,我们把order当做集群,多节点部署,那么作为 运维人员 需要在服务消费方进行手工维护一份注册表
- 当时微服务成百上千的服务,难道我们要那成百上千 ng么?或者使用一个Ng 那么我们能想一下哪个ng的配置文件有多么 复杂
步入正题,开始Nacos搭建过程
- 下载
下载地址:https://github.com/alibaba/Nacos/releases
2.linux环境启停:
①:把我们的Nacos包解压 tar -zxvf nacos-server-1.1.4.tar.gz
②:cd 到我们的解压目录nacos cd nacos
③:进入到bin目录下 执行命令(启动单机) sh startup.sh -m standalone
④:检查nacos启动的端口 lsof -i:8848
⑤:访问nocas的服务端 http://192.168.159.8:8848/nacos/index.html 默认的用户名密码是 nocas/nocas
⑥:停止nocas 在nocas/bin目录下 执行 sh shutdown.sh
3.window环境下 启动nocas server
4:Nacos client服务端的搭建
① 加入依赖
1 <dependency>
2 <groupId>com.alibaba.cloud</groupId>
3 <artifactId>spring‐cloud‐alibaba‐nacos‐discovery</artifactId>
4 </dependency>
②:写注解(也可以不写) @EnableDiscoveryClient
1 @SpringBootApplication
2 @EnableDiscoveryClient
3 public class Tulingvip01MsAlibabaNacosClientOrderApplication {
4 public static void main(String[] args) {
5 SpringApplication.run(Tulingvip01MsAlibabaNacosClientOrderApplication.cl ass, args);
6 }
7 }
③:写配置文件 注意server-addr:不需要写协议
1 spring:
2 cloud:
3 nacos:
4 discovery:
5 server‐addr: localhost:8848
6 application:
7 name: order‐center
④:验证我们的order-center注册到我们的nacos上
1 @Autowired
2 private DiscoveryClient discoveryClient;
3 @GetMapping("/getServiceList")
4 public List<ServiceInstance> getServiceList() {
5 List<ServiceInstance> serviceInstanceList =
discoveryClient.getInstances("order‐center");
6 return serviceInstanceList;
7 }
每天一小步,向前一大步,加油!!!