eureka多环境隔离_微服务治理1 - Eureka服务治理架构及客户端装配和启动流程分析...

本文介绍了Eureka在微服务架构中的服务治理作用,包括服务注册中心、服务提供者和消费者的角色。详细解析了Eureka服务治理架构,展示了一个包含多个Eureka注册中心的高可用配置。接着探讨了Eureka客户端的装配过程,不是由@EnableDiscoveryClient注解触发,而是通过Spring的加载机制实现。最后,解析了Eureka客户端的启动流程,重点分析了服务注册、续约和心跳线程等关键步骤。
摘要由CSDN通过智能技术生成

服务治理是微服务架构中的核心模块,主要用来实现各个微服务的自动化注册和发现。随着业务的增长和微服务实例的增长,服务治理可以大大减少手动配置的工作和手动配置错误,并且结合其他中间件实现服务的负载均衡。一个微服务治理框架一般包含三个核心要素:

  • 服务注册中心:提供服务注册和发现的功能
  • 服务提供者:服务提供者向服务注册中心注册自己的信息,如服务名、IP地址、端口号等信息
  • 服务消费者:服务消费者从服务注册中心获取服务列表,从而消费者可以知道去何处调用其所需要的服务

在实际场景中,一般服务注册中心是单独的微服务(在高可用环境下会是集群),而服务提供者可能也是服务消费者,服务消费者也可能是服务提供者。

Spring Cloud Eurek是Spring Cloud社区提供的微服务中间件,使用Netflix Eureka来实现服务的注册和发现。其包含两部分:

  • Eureka服务端(Eureka Server),即服务注册中心,支持集群式部署
  • Eureka客户端(Eureka Client),主要处理服务的注册和发现,周期性的向Eureka服务端发送心跳信息来更新它的服务租约,当服务下线时通知Eureka服务端及时下线服务

1. Eureka服务治理架构

在实际使用中,Eureka的服务治理架构一般如下图所示:

daed9eda6bdd2107a30a71bb34f324f6.png

从图可以看出在这个架构中,可以看到:

  • 有2个角色,即Eureka Server和Eureka Client
  • 每个区域有一个Eureka集群,并且每个区域至少有一个eureka服务器可以处理区域故障,以防服务器瘫痪
  • Eureka Server间相互同步注册信息
  • Eureka Client分为Applicaton Service和Application Client,即服务提供者何服务消费者
  • Applicaton Service向Eureka Server注册、续约和下线和获得注册表信息
  • Application Client获得注册信息并调用服务

在分布式环境下需要考虑单点故障问题,因此需要在生产环境下为各个服务部署多个服务结点,以提高服务的可用性, 对Eureka服务注册中心同样如此。

接下来介绍一下多个Eureka服务注册中心的的关键配置,基于Spring Boot搭建Eureka服务的步骤请参考Eureka帮助文档。当工程初始化好后,新建两个配置文件applicaiton-peer1.yml和application-peer2.yml,内容分别是:

application-peer1.yml

spring:
  application:
    name: eureka-server
server:
  port: 9000
eureka:
  instance:
    hostname: peer1
  client:
    service-url:
      defaultZone: http://peer2:9001/eureka

aplication-peer2.yml

spring:
  application:
    name: eureka-server
server:
  port: 9001
eureka:
  instance:
    hostname: peer2
  client:
    service-url:
      defaultZone: http://peer1:9000/eureka

并在/etc/host中添加如下配置:

127.0.0.1 peer1
127.0.0.1 peer2

然后执行如下Maven命令启动两个Eureka注册服务中心:

mvn spring-boot:run -Dspring-boot.run.profiles=peer1&
mvn spring-boot:run -Dspring-boot.run.profiles=peer2&

在浏览器访问http://peer1:9000,可以看到如下结果:

3c0b64764d0831b569fb978d4f07a507.png

服务消费

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值