赞
踩
注册中心这么关键的服务,如果是单点话,遇到故障就是毁灭性的。在一个分布式系统中,服务注册中心是最重要的基础部分,理应随时处于可以提供服务的状态。为了维持其可用性,使用集群是很好的解决方案。Eureka通过互相注册的方式来实现高可用的部署,所以我们只需要将Eureke Server配置其他可用的serviceUrl就能实现高可用部署。
什么是集群:不同的服务器上运行一个相同的服务,而这些服务器群体,对外作一个超大运算的整体。
作用:高可用,其中一台机器宕机,还是集群的其他机器还能提供相同的服务。
相关文章
SpringCloud(一):Eureka服务注册与发现
SpringCloud(二):Ribbon负载均衡
SpringCloud(三):Feign远程调用
基于项目之前的基础,新搭建一个名为eureka-server2的模块,效果图如下
搭建步骤参考之前的文章
文件目录C:\Windows\System32\drivers\etc
打开hosts文件添加
127.0.0.1 eureka-server
127.0.0.1 eureka-server2
eureka-server配置
#端口号
server.port=8761
#服务名
spring.application.name=eureka-server
#设置当前实例的主机名称
eureka.instance.hostname=eureka-server
#是否注册自身到EureakServer上,默认为true;由于当前工程本身即是EurekaServer,所以设置为false;
eureka.client.register-with-eureka=false
#标识是否从Eureka Server获取注册信息,默认为true;由于当前工程本身即是EurekaServer,所以设置为false;
eureka.client.fetch-registry=false
#设置Eureka的地址
eureka.client.service-url.defaultZone=http://eureka-server2:8760/eureka/
eureks-server2配置
#端口号
server.port=8760
#服务名
spring.application.name=eureka-server2
#设置当前实例的主机名称
eureka.instance.hostname=eureka-server2
#是否注册自身到EureakServer上,默认为true;由于当前工程本身即是EurekaServer,所以设置为false;
eureka.client.register-with-eureka=false
#标识是否从Eureka Server获取注册信息,默认为true;由于当前工程本身即是EurekaServer,所以设置为false;
eureka.client.fetch-registry=false
#设置Eureka的地址
eureka.client.service-url.defaultZone=http://eureka-server:8761/eureka/
接下来修改项目中的service-feign、eureka-ribbon、eureka-client、eureka-client2服务的注册地址。如下
eureka.client.service-url.defaultZone=http://eureka-server:8761/eureka/,http://eureka-server2:8760/eureka/
依次启动eureka-server、eureka-server2、eureka-client、eureka-client2、eureka-ribbon、eureka-feign,因为服务比较多所以会启动的慢一点
启动完成后,打开浏览器输入http://localhost:8761/ 和 http://localhost:8760/。效果图如下
到此处,这两个eureka-server,注册中心也就关联起来了。
当我们访问http://localhost:8064/feignSayHello?name=wxy也能拿到数据。当我们尝试关掉其中一个注册中心时访问http://localhost:8064/feignSayHello?name=wxy 也能正常访问整个微服务还是能够正常运转的,Eureka高可用,就的目的也就达到啦。
过程中如果有小伙伴遇到问题或者有好的见解可以及时联系
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。