服务治理
服务治理是微服务架构中最核心最基本的模块,用于实现各个微服务的自动化注册与发现
- 服务注册:在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中心登记自己提供服务的详细信息。并在注册中心形成一张服务的清单,服务注册中心需要以心跳的方式去检测清单中的服务是否可用,如果不可用,需要在服务清单中剔除不可用的服务
- 服务发现:服务调用方 向服务注册中心咨询服务,并获取所有的实例清单,实现对具体服务实例的访问
注册中心
是微服务架构非常重要的一个组件,在微服务架构中主要起到了协调者的一个作用
功能
- 服务发现
- 服务注册:保持服务提供者和服务调用者的信息
- 服务订阅:服务调用者订阅服务提供者的信息,注册中心向订阅者推送提供者的信息
- 服务配置
- 配置订阅:服务提供者和服务调用者订阅服务相关的配置
- 配置下发:主动将配置推送给服务提供者和服务调用者
- 服务健康检测
- 检测服务提供者的健康情况,如果发现异常,执行服务剔除
nacos
使用
- 下载安装启动nacos服务端
可用通过http://IP地址:8848/nacos查看图像页面 默认账号密码:nacos
- 项目中导入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
- 在主类上添加注解@EnableDiscoveryClient
- 修改配置文件
spring:
application:
name: 服务名
cloud:
nacos:
discovery:
server-addr: IP地址:端口号
DiscoveryClient
服务调用方可用通过此类获取服务器列表
@Resource
private DiscoveryClient discoveryClient;
//返回值为服务器列表
List<ServiceInstance> instances = discoveryClient.getInstances("服务提供者服务名称");
可用通过ServiceInstance获取服务器信息
- IP地址:getHost()
- 端口号:getPort()