(2-1)SpringCloue-Eureka实现高可用注册中心

高可用注册中心

  在微服务架构这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中必须对各个组件进行高可用部署。在eureka-server中的application.yml中我们还记得两段配置。让服务注册中心自己不注册自己

eureka:
  client:
    #由于该应用为注册中心,所以设置为false,代表不向注册中心注册自己
    registerWithEureka: false
    #由于注册中心的职责就是维护服务实例,它并不需要去检索服务,所以也设置为false
    fetchRegistry: false

  下面我们就要重新更改配置文件,让eureke-server自己作为服务向其他服务注册中心注册自己。这样就可以形成一组互相注册的服务注册中心,以实现服务清单的相互同步,达到高可用的效果。

 根据(1-1)SpringCloud-Eureka:服务的注册与发现 进行改造。

步骤一:在maven的resources文件夹下新建两个配置文件application-peer1.properties 和 application-peer2.properties

  application-peer1.properties

eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
spring.application.name=eureka-ha-server
server.port=8751
eureka.instance.hostname=peer1
eureka.client.serviceUrl.defaultZone=http://peer2:8752/eureka

  application-peer2.properties

eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
spring.application.name=eureka-ha-server
server.port=8752
eureka.instance.hostname=peer2
eureka.client.serviceUrl.defaultZone=http://peer2:8751/eureka

步骤二:到C:\Windows\System32\drivers\etc下修改hosts文件,添加

127.0.0.1 peer1
127.0.0.1 peer2

步骤三:启动服务

  在项目的pom.xml目录下运行mvn clean install。然后去maven仓库下去找到生成的jar文件,然后运行

java -jar eureka-server-1.0.0.jar --spring.profiles.active=peer1
java -jar eureka-server-1.0.0.jar --spring.profiles.active=peer2

高可用注册中心就配置好了

https://gitee.com/huayicompany/springcloud-learn/tree/master/lesson2

参考:

[1] 《SpringCloud微服务实战》,电子工业出版社,翟永超

[2] 博客,http://blog.csdn.net/forezp/article/details/70183572

时间: 2024-08-03 03:10:32

(2-1)SpringCloue-Eureka实现高可用注册中心的相关文章

基于Spring Cloud的微服务构建学习-3 服务治理-Spring Cloud Eureka之高可用注册中心

什么叫高可用 高可用一般指服务的冗余,一个服务挂了,可以自动切换到另一个服务上,不会影响到客户体验. 高可用注册中心 在微服务架构这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中必须对各个组件进行高可用部署,对于微服务如此,对于服务中心也一样. Eureka Server的设计一开始就考虑了高可用问题,在Eureka的服务治理设计中,所有节点既是服务提供方,也是服务消费方,服务注册中心也不例外.在前一篇随笔中用到过这样的配置: eureka.client.register-w

springcloud搭建高可用注册中心的时候注册中心在unavailable-replicas中的问题

在搭建springcloud eureka高可用注册中心时,发现另一个注册中心一直在unavailable-replicas不可用分片,原因为原来为单个注册中心的时候,禁止了注册中心自主注册为服务和检索服务的功能.使得无法在另一个注册中心注册和检索到另一个服务. 将eureka.client.register-with-eureka=false和eureka.client.fetch-registry=false都改为true eureka.client.register-with-eureka

Spring Cloud Eureka 高可用注册中心

参考:<<spring cloud 微服务实战>> 在微服务架构这样的分布式环境中,各个组件需要进行高可用部署. Eureka Server 高可用实际上就是将自己作为服务向其他服务注册中心注册自己,这样就形成一组相互注册的服务注册中心,以实现服务清单的相互同步,达到高可用的效果. 构建双节点服务注册中心集群       构建节点服务注册中心集群: 1.创建application-peer1.properties , 作为peer1服务中心的配置,并将serviceUrl指向pee

spring cloud实战 1-高可用注册中心

创建父maven项目 提交代码至GitHub 创建eureka-server-1 项目搭建两种方式: 父pom中继承spring-boot-starter-parent,子pom中直接结成父pom.该方式比较方便,但子项目都是spring boot项目了. 父项目不需要继承spring-boot-starter-parent,子pom中通过使用scope = import依赖关系. 123456789101112 <dependencyManagement> <dependencies&

Spring cloud之Eureka(二)注册中心高可用

背景 在实际的生产环境中,注册中心如果只有一个,是很危险的,当这个注册中心由于各种原因不能提供正常服务或者挂掉时,整个系统都会崩溃,这是很致命的的,所以在Spring cloud 设计之初就考虑到了注册中心的高可用. springCloud的eureka高可用配置方案思路是:几个服务中心之间相互注册,比如两个注册中心,A注册到B上,B注册到A上,如果是三个注册中心则是:A注册到BC上,B注册到AC上,C注册到AB上,这样就会在几个注册中心间进行同步,同时服务提供方向三个注册中心均注册,这样就会保

Eureka单机高可用伪集群配置

Eureka Server高可用集群理论上来讲,因为服务消费者本地缓存了服务提供者的地址,即使Eureka Server宕机,也不会影响服务之间的调用,但是一旦新服务上线,已经缓存在本地的服务提供者不可用了,服务消费者也无法知道,所以保证Eureka Server的高可用还是很有必要的. 在分布式系统中,任何的地方存在单点,整个体系就不是高可用的,Eureka 也一样,Eureka Server不是以单点存在的,而是以集群的方式对外提供服务. 模拟在一台机器上搭建Eureka集群,配置peer1

Spring Cloud Eureka 2 (Eureka Server搭建服务注册中心)

工具:IntelliJ IDEA 2017.1.2 x64.maven3.3.9 打开IDE  file===>new===>project next next 选择相应的依赖 next finish 查看下上述我们选的两个依赖在pom.xml中 通过@EnableEurekaServer注解启动一个服务注册中心 在默认情况下该服务注册中心会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端行为,只需在application.properties中做如下配置: # 指定服务的端口号s

Spring Cloud Eureka 4 (高可用服务注册中心)

在微服务这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中必须考虑对各个组件进行高可用部署,对于服务注册中心也是一样. Eureka Server 的高可用实际上就是讲自己作为服务向其他注册中心注册自己,这样就可以实现一组互相注册的注册中心以实现服务清单是相互同步,达到高可用的效果. 创建新的项目eureka-cluster和eureka-cluster2 项目创建参考上文服务注册中心的搭建 http://www.cnblogs.com/HanShisi/p/8319856.h

服务注册与发现-Eureka (高可用设计)

什么是高可用 部署需要考虑的是什么: 1.系统遇到单点失效问题,如何能够快速切换到其他节点完成任务 2.如何应对网络故障,即系统如何设计成"故障开放型"(expecting failure)的 典型的问题包括: 1.意外故障(box failure) 2.高延迟 3.网络分割问题(注:由于交换机故障导致交换机底下的子网间不能互访) 高可用的表现 1.对于Service发现服务而言,宁可返回某服务5分钟之前在哪几个服务器上可用的信息,也不能因为暂时的网络故障而找不到可用的服务器 2.如果