服务注册与发现【Eureka】- 集群Eureka构建步骤

Eureka集群原理说明

 

         

 

 

 

 

 


Eureka集群环境构建

参考 cloud-eureka-server7001 ,新建一个 cloud-eureka-server7002

POM:直接复制 7001 的 POM 到  7002

修改映射配置(模仿两台服务器)

找到C:\Windows\System32\drivers\etc路径下的hosts文件,修改映射配置添加进hosts文件:

127.0.0.1  eureka7001.com

127.0.0.1  eureka7002.com

YML

以前单机版:

 

 

现在集群版:

7001:

server:
  port: 7001

eureka:
  instance:
    hostname: eureka7001.com  #eureka服务端的实例名字
  client:
    register-with-eureka: false    #表识不向注册中心注册自己
    fetch-registry: false   #表示自己就是注册中心,职责是维护服务实例,并不需要去检索服务
    service-url:
      defaultZone: http://eureka7002.com:7002/eureka/    #设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址
7001 yml

 

7002:

server:
  port: 7002

eureka:
  instance:
    hostname: eureka7002.com  #eureka服务端的实例名字
  client:
    register-with-eureka: false    #表识不向注册中心注册自己
    fetch-registry: false   #表示自己就是注册中心,职责是维护服务实例,并不需要去检索服务
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka/    #设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址
7002 yml

 

主启动

复制cloud-eureka-server7001的主启动类到7002即可

 

服务提供者和消费者(支付、订单模块)入驻进Eureka集群

yml

eureka:
  client:
    register-with-eureka: true
    fetchRegistry: true
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka  #集群版
    #      defaultZone: http://localhost:7001/eureka
支付、订单服务 的 YML Eureka 块

 


服务提供者(支付服务)集群配置

参考cloud-provider-payment8001 新建cloud-provider-payment8002

复制8001 的所有东西到 8002(yml的端口独有、pom中的基础 artifactId 独有

 

 

 

 

 

 

 

 修改8001/8002的Controller,返回的数据中,带上服务端口号

 

 

 

服务提供者(cloud-provider-payment8001 和 cloud-provider-payment8002)的负载均衡

修改服务消费者(cloud-consumer-order8080)访问服务提供者的地址,修改为服务提供者的微服务名称

 

 

 

 

使用 @LoadBalanced 注解赋予 RestTemplate 负载均衡的能力

 

actuator微服务信息完善

主机名称:服务名称修改、访问信息有IP提示:

在微服务客户端(两个服务提供者,一个服务消费者)的YML中添加如下配置

 

 

8002 和 8080 也一样: 

 

 

 

结果:

 

 注意:要实现这些图形化的展现和监控,必须要导入下面的这两个包,不然这些信息完善就没有效果。

 

 

 

 

整体测试:

启动EurekaServer,7001/7002服务

启动服务提供者provider,8001/8002服务

启动服务消费者 consumer 8080 服务

 

 访问Eureka7001 和 7002

 

 

 

 

访问 consumer 8080 的接口

结果:以轮询的方式交替访问两个服务提供者

 

posted @ 2020-07-30 13:50  糖油包子  阅读(373)  评论(0编辑  收藏  举报