ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

spring cloud 搭建注册中心Eureka(集群模式)

2019-09-20 17:57:23  阅读:144  来源: 互联网

标签:http spring eureka 注册 Eureka Server true cloud


集群

注册中心这么关键的服务,如果是单点话,遇到故障就是毁灭性的。在一个分布式系统中,服务注册中心是最重要的基础部分,理应随时处于可以提供服务的状态。为了维持其可用性,使用集群是很好的解决方案。Eureka通过互相注册的方式来实现高可用的部署,所以我们只需要将Eureke Server配置其他可用的serviceUrl就能实现高可用部署。

新建3个配置文件

application-peer1.yml

spring:
  application:
   name: Service     #应用名称,也是服务注册的名称

server:
  port: 8000         #开启端口

eureka:
  instance:
    hostname: peer1     #主机名
  client:
    serviceUrl:
      defaultZone: http://peer2:8001/eureka/,http://peer3:8002/eureka/    #与Eureka Server交互的地址,查询服务和服务注册都需要依赖这个地址
     #默认为http://localhost:8761/eureka,  多个地址用","分割
    fetch-registry: false                           #是否将自己注册到Eureka Server 默认为true
    register-with-eureka: true                     #是否从Eureka Server查询注册信息
  server:
    enable-self-preservation: false             #关闭自我保护模式
    eviction-interval-timer-in-ms: 4000         #清理服务间隔4s,默认60*10000

 

application-peer2.yml

spring:
  application:
    name: Service     #应用名称,也是服务注册的名称

server:
  port: 8001         #开启端口

eureka:
  instance:
    hostname: peer2     #主机名
  client:
    serviceUrl:
      defaultZone: http://peer1:8000/eureka/,http://peer3:8002/eureka/   #与Eureka Server交互的地址,查询服务和服务注册都需要依赖这个地址
      #默认为http://localhost:8761/eureka,  多个地址用","分割
    fetch-registry: false                           #是否将自己注册到Eureka Server 默认为true
    register-with-eureka: true                     #是否从Eureka Server查询注册信息
  server:
    enable-self-preservation: false             #关闭自我保护模式
    eviction-interval-timer-in-ms: 4000         #清理服务间隔4s,默认60*10000

application-peer3.yml

spring:
  application:
    name: Service     #应用名称,也是服务注册的名称

server:
  port: 8002         #开启端口

eureka:
  instance:
    hostname: peer3     #主机名
  client:
    serviceUrl:
      defaultZone: http://peer1:8000/eureka/,http://peer2:8001/eureka/    #与Eureka Server交互的地址,查询服务和服务注册都需要依赖这个地址
      #默认为http://localhost:8761/eureka,  多个地址用","分割
    fetch-registry: false                           #是否将自己注册到Eureka Server 默认为true
    register-with-eureka: true                     #是否从Eureka Server查询注册信息
  server:
    enable-self-preservation: false             #关闭自我保护模式
    eviction-interval-timer-in-ms: 4000         #清理服务间隔4s,默认60*10000

注意:

1.register-with-eureka 需要设置为true,或者不设置,默认为true

2.hostname和defaultZone的域名不要设置为localhost,应设置为别名,并在操作系统的host文件中添加映射,

127.0.0.1        peer1
127.0.0.1        peer2
127.0.0.1        peer3

   否则后台会出现registered-replicas为空的情况

3.enable-self-preservation 设置为false 关闭自我保护模式,否则一个节点挂掉之后,不会在unavailable-replicas中出现

在idea中设置3个启动方式,并分别设置启动时应用的配置文件名,springboot中约定 配置文件以application-{profiles}.xxx的方式命名

 

 

 

 

 

 3个同时启动,分别访问 localhost:8000, localhost:8001, localhost:8002 

 

 

 关闭节点peer1,一段时间后,peer1节点信息将出现在 unavailable-replicas 中,如果不关闭自我保护模式,则不会出现。

 

 以jar包形式启动3个应用,

java -jar -Dspring.profiles.active=peer1 Service.jar
java -jar -Dspring.profiles.active=peer2 Service.jar
java -jar -Dspring.profiles.active=peer3 Service.jar

 

标签:http,spring,eureka,注册,Eureka,Server,true,cloud
来源: https://www.cnblogs.com/yhood/p/11558636.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有