微服务注册中心Nacos入门
共 2318字,需浏览 5分钟
·
2021-03-11 00:34
官方文档
https://nacos.io/zh-cn/docs/what-is-nacos.html
无注册中心的调用的缺点。
1 ResponseEntity<ProductInfo>responseEntity=
2 restTemplate.getForEntity(“http://localhost:8081/selectProductInfoById/”+
3 orderInfo.getProductNo(),ProductInfo.class);
缺点:
1)从上面看出的缺点就是,我们的在调用的时候,请求的Ip地址和端口是硬编码的.1.1大话 服务注册发现原理
V1架构图
1.2.1) V1版本的架构,存在以下几个问题①:我们的微服务每次调用,都会去进行对数据库的查询,并发一高,数据库性能就是一个瓶颈问题.②:若我们的mysql挂了,那么我们所有的微服务调用都不能正常进行。③:若mysql是正常的,库存微服务挂了,那么也不能正常的调用
V2版本架构图
1.3)Nacos服务端搭建
下载地址:https://github.com/alibaba/Nacos/releases
1.3.1)linux环境启停:
①:把我们的Nacos包解压 tar -zxvf nacos-server-1.1.4.tar.gz
②:cd到我们的解压目录nacos cd nacos
③:进入到bin目录下执行命令(启动单机) sh startup.sh -mstandalone
④:检查nacos启动的端口 lsof-i:8848
⑥:停止nocas 在nocas/bin目录下 执行 sh shutdown.sh
1.3.1)window环境下 启动nocasserver
2:Nacosclient服务端的搭建
①:三板斧之:第一板斧 加入依赖
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 {
5 public static void main(String[] args){
6 SpringApplication.run(Tulingvip01MsAlibabaNacosClientOrderApplication.class, args);
7 }
8}
③:第三板斧之:写配置文件 **注意**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 DiscoveryClientdiscoveryClient;
3
4 @GetMapping("/getServiceList")
5 public List<ServiceInstance> getServiceList(){
6 List<ServiceInstance> serviceInstanceList =discoveryClient.getInstances("order‐center");
7 returnserviceInstanceList;
8}