服务治理

服务治理

起男 1,203 2021-08-22

服务治理

服务治理是微服务架构中最核心最基本的模块,用于实现各个微服务的自动化注册与发现

  • 服务注册:在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中心登记自己提供服务的详细信息。并在注册中心形成一张服务的清单,服务注册中心需要以心跳的方式去检测清单中的服务是否可用,如果不可用,需要在服务清单中剔除不可用的服务
  • 服务发现:服务调用方 向服务注册中心咨询服务,并获取所有的实例清单,实现对具体服务实例的访问

注册中心

是微服务架构非常重要的一个组件,在微服务架构中主要起到了协调者的一个作用

功能

  1. 服务发现
    • 服务注册:保持服务提供者和服务调用者的信息
    • 服务订阅:服务调用者订阅服务提供者的信息,注册中心向订阅者推送提供者的信息
  2. 服务配置
    • 配置订阅:服务提供者和服务调用者订阅服务相关的配置
    • 配置下发:主动将配置推送给服务提供者和服务调用者
  3. 服务健康检测
    • 检测服务提供者的健康情况,如果发现异常,执行服务剔除

nacos

使用

  1. 下载安装启动nacos服务端

可用通过http://IP地址:8848/nacos查看图像页面 默认账号密码:nacos

  1. 项目中导入依赖
		<dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
  1. 在主类上添加注解@EnableDiscoveryClient
  2. 修改配置文件
spring:
  application:
    name: 服务名 
  cloud:
    nacos:
      discovery:
        server-addr: IP地址:端口号

DiscoveryClient

服务调用方可用通过此类获取服务器列表

@Resource
private DiscoveryClient discoveryClient;
//返回值为服务器列表
List<ServiceInstance> instances = discoveryClient.getInstances("服务提供者服务名称");

可用通过ServiceInstance获取服务器信息

  • IP地址:getHost()
  • 端口号:getPort()