一,Nacos Discovery–服务治理
- 服务注册:在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中心登记自己提供服务的详细信息。并在注册中心形成一张服务的清单,服务注册中心需要以心跳的方式去监测清单中的服务是否可用,如果不可用,需要在服务清单中剔除不可用的服务。
- 服务发现:服务调用方向服务注册中心咨询服务,并获取所有服务的实例清单,实现对具体服务实例的访问。
常见注册中心:
Zookeeper:是一个分布式服务框架,是Apache Hadoop的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等
Eureka:是Springcloud Netflix中的重要组件,主要作用就是做服务注册和发现。但是现在已经闭源. Consul
Consul:是基于GO语言开发的开源工具,主要面向分布式,服务化的系统提供服务注册、服务发现和配置管理的功能。Consul的功能都很实用,其中包括:服务注册/发现、健康检查、Key/Value存储、多数据中心和分布式一致性保证等特性。Consul本身只是一个二进制的可执行文件,所以安装和部署都非常简单
只需要从 官网下载后,在执行对应的启动脚本即可。
Nacos:是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它是Spring Cloud Alibaba组件之一,负责服务注册发现和服务配置,可以这样认为nacos=eureka+config。
1服务注册到Nacos
1.1 首先安装、部署、运行 nacos,
安装Nacos安装 --下载地址: https://github.com/alibaba/nacos/releases,下载zip格式的安装包,然后进行解压缩操作
双击运行bin目录下的startup.cmd即可。
nacos的控制台界面地址:http://localhost:8848/nacos 或 http://192.168.0.4:8848/nacos/index.html,默认用户名密码都是nacos
1.2 注册微服务,在消费者和提供者的微服务模块的pom文件下增加依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>