Nacos

大白话剖析服务发现原理

可以用mysql类比,如下图所示:

  1. 当微服务启动时,向mysql的registry表插入一条数据
  2. 当消费者需要查找服务提供者时,需要到表里去查询数据,得到的数据就是可用的服务提供者
  3. 但是如果每次都要去查询,服务发现组件压力就会很大,并且有可能宕机,因此需要定时去查询,然后将结果保存到服务本地的缓存中
  4. 服务需要每隔一段时间向注册中心发起一次心跳,注册中心更新last_heartbeat字段
  5. 当服务超过一段时间没有向注册中心发送心跳连接时,将status置为DOWN,即该服务被移除


    服务发现.png

什么是Nacos?

服务发现组件和配置服务器
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

安装Nacos(Docker)

GitHub-nacos-group/nacos-docker

  1. git clone --depth 1 https://github.com/nacos-group/nacos-docker.git
  2. cd nacos-docker
  3. docker-compose -f example/standalone-derby.yaml up
  4. 启动成功,端口号为8848

应用注册到Nacos

  1. 添加依赖

    org.springframework.cloud
    spring-cloud-starter-alibaba-nacos-discovery

  1. 不需要添加注解
  2. 增加配置
spring:
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
        namespace:用于环境隔离
        cluster-name: 同一集群优先调用

你可能感兴趣的:(Nacos)