服务注册发现_高可用Eureka注册中心搭建

服务注册发现_高可用Eureka注册中心搭建_第1张图片

在微服务架构这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中必须对各个组件进行高可用部署,对于微服务如此,对于服务注册中心也一样。

服务注册发现_高可用Eureka注册中心搭建_第2张图片

问题:

Spring-Cloud为基础的微服务架构,所有的微服务都需要注册到注册中心,如果这个注册中心阻塞或者崩了,那么整个系统都无法继续正常提供服务,所以,这里就需要对注册中心搭建,高可用(HA)集群。

Eureka Server的设计一开始就考虑了高可用问题,在Eureka的服务治理设计中,所有节点即是服务提供方,也是服务消费方,服务注册中心也不例外。是否还记得在单节点的配置中,我们设置过下面这两个参数,让服务注册中心不注册自己:

eureka.client.register-with-eureka-false
eureka.client.fetch-registry-false

单机Eureka注册中心服务会出现单点故障问题。


构建cloud-eureka-server7002工程

服务注册发现_高可用Eureka注册中心搭建_第3张图片

修改Pom


    
    
      org.springframework.cloud
      spring-cloud-starter-netflix-eureka-server
    
    
      org.projectlombok
      lombok
    
    
      org.springframework.boot
      spring-boot-starter-test
      test
    
  

修改映射配置

找到C:\Windows\System32\drivers\etc\hosts

#添加如下配置
127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com

 修改7001YML文件

#修改7001主机yml文件
server:
  port: 7001
eureka:
  instance:
  # eureka服务端的实例名字
   hostname: eureka7001.com
  client:
  #表 示是否将自己注册到Eureka Server
   register-with-eureka: false
  # 表示是否从Eureka Server获取注册的服务信息
   fetch-registry: false
  # 设置与 Eureka server交互的地址查询服务和注册服务都需要依赖这个地址
   service-url:
    defaultZone: http://eureka7002.com:7002/eureka/

修改7002YML文件

#修改7001主机yml文件
server:
  port: 7002
eureka:
  instance:
  # eureka服务端的实例名字
   hostname: eureka7002.com
  client:
  #表 示是否将自己注册到Eureka Server
   register-with-eureka: false
  # 表示是否从Eureka Server获取注册的服务信息
   fetch-registry: false
  # 设置与 Eureka server交互的地址查询服务和注册服务都需要依赖这个地址
   service-url:
    defaultZone: http://eureka7001.com:7001/eureka/

编写主启动类

/**
 * 主启动类
 */
@Slf4j
@SpringBootApplication
@EnableEurekaServer
public class EurekaMain7002 {
  public static void main(String[] args) {
    SpringApplication.run(EurekaMain7002.class,args);
    log.info("*************** Eureka 服务启动成功 ***********");
   }
}

将支付微服务8001发布到Eureka集群上

eureka:
  client:
   service-url:
    defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka

将订单微服务80发布到Eureka集群上

eureka:
  client:
   service-url:
    defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka

测试

  1. 先启动EurekaServer集群
  2. 在启动服务提供者provider服务
  3. 在启动消费者服务

服务注册发现_高可用Eureka注册中心搭建_第4张图片

你可能感兴趣的:(eureka,云原生)