eureka的高可用(代码片段)

64byte 64byte     2022-12-06     317

关键词:

  我们之前搭建的是一个简单的注册中心,而且这个注册中心是一个单点的,那么我们的系统就会存在一个风险,

一旦我们这个注册中心故障了,则整个服务都不可用,那我们可以对注册中心进行集群部署,

这样我们不会担心因为某一台注册中心出现故障,而影响到整个服务.也就实现了注册中心的高可用。

分布式和集群这两个概念:

  • 分布式:一个业务分拆多个子业务,部署在不同的服务器上
  • 集群:同一个业务,分别部署在不同的服务器上

技术图片

搭建的步骤 

由上面的思路,我们知道,端口为8001需要挂上端口为8002和端口为8003,所以在端口为8001的配置文件中需要重新配置一下defaultZone,如下:

OK,defaultZone 配置好了端口为8002和 端口为8003。

spring.application.name=spring-cloud-eureka-server
server.port =8001
eureka.instance.hostname =eurekaServer8001
#设置是否将自己作为客户端注册到注册中心(缺省true)
#这里为不需要,查看@EnableEurekaServer注解的源码,会发现它间接用到了@EnableDiscoveryClient
eureka.client.register-with-eureka=false
#设置是否从注册中心获取注册信息,默认值为true
#因为这是一个单点的EurakaServer,不需要同步其他EurekaServer节点的数据,故设置为false
eureka.client.fetch-registry=false
# 实际测试:若修改尾部的eureka为其它的,比如/myeureka,注册中心启动没问题,但服务端在注册时会失败
# 报告异常:com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
eureka.client.serviceUrl.defaultZone =http://eurekaServer8002:8002/eureka/,http://eurekaServer8003:8003/eureka/

安装上面方法,依次搭建端口为8002和端口为8003

端口为8002的配置文件:

spring.application.name=spring-cloud-eureka-server
server.port =8002
eureka.instance.hostname =eurekaServer8002
#设置是否将自己作为客户端注册到注册中心(缺省true)
#这里为不需要,查看@EnableEurekaServer注解的源码,会发现它间接用到了@EnableDiscoveryClient
eureka.client.register-with-eureka=false
#设置是否从注册中心获取注册信息,默认值为true
#因为这是一个单点的EurakaServer,不需要同步其他EurekaServer节点的数据,故设置为false
eureka.client.fetch-registry=false
# 实际测试:若修改尾部的eureka为其它的,比如/myeureka,注册中心启动没问题,但服务端在注册时会失败
# 报告异常:com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
eureka.client.serviceUrl.defaultZone =http://eurekaServer8001:8001/eureka/,http://eurekaServer8003:8003/eureka/

端口为8003的配置文件:

spring.application.name=spring-cloud-eureka-server
server.port =8003
eureka.instance.hostname =eurekaServer8003
#设置是否将自己作为客户端注册到注册中心(缺省true)
#这里为不需要,查看@EnableEurekaServer注解的源码,会发现它间接用到了@EnableDiscoveryClient
eureka.client.register-with-eureka=false
#设置是否从注册中心获取注册信息,默认值为true
#因为这是一个单点的EurakaServer,不需要同步其他EurekaServer节点的数据,故设置为false
eureka.client.fetch-registry=false
# 实际测试:若修改尾部的eureka为其它的,比如/myeureka,注册中心启动没问题,但服务端在注册时会失败
# 报告异常:com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
eureka.client.serviceUrl.defaultZone =http://eurekaServer8001:8001/eureka/,http://eurekaServer8002:8002/eureka/

修改服务的提供者HelloService项目的配置文件:

# 指定服务注册中心的地址                   
eureka.client.serviceUrl.defaultZone=http://eurekaServer8001:8001/eureka/,
http://eurekaServer8002:8002/eureka/,http://eurekaServer8003:8003/eureka/

测试

然后浏览器地址栏输入:http://eurekaServer8001:8001/

技术图片

 

spring-cloud中config配置中心使用(基于eureka的高可用)(代码片段)

高可用高可用反过来描述就是宕机时间短,使用平均无故障时间来衡量的。对于服务端来说,发现非高可用是比较容易的,只需要看是不是在某个环境存在单点就可以了,可以假设这台机器宕机了,会不会影... 查看详情

eureka单机高可用伪集群配置(代码片段)

EurekaServer高可用集群理论上来讲,因为服务消费者本地缓存了服务提供者的地址,即使EurekaServer宕机,也不会影响服务之间的调用,但是一旦新服务上线,已经缓存在本地的服务提供者不可用了,服务消费者也无法知道,所以保... 查看详情

eureka相关知识点(代码片段)

本文讲述的是Eurekaserver,服务提供者、消费者的一些概念和配置说明。EurekaServer服务注册中心Eureka的高可用设计Eureka侧重点是AP,高可用;EurekaServer在设计的时候就考虑了高可用,在Eureka的服务治理设计中,所有节点既是服务提供... 查看详情

eureka高可用集群服务端和客户端配置(代码片段)

...为了打广告,是借用它的数据中心分布来说明本文的主角Eureka的高可用集群部署(我们这里演示Eureka的 同地域(Region)跨数据中心(可用Zone区)高可用 部署;全国版也是类似的,只是将全国范围看成一个region,再在华北、华... 查看详情

eureka多机高可用(代码片段)

1、Eureka服务端集群配置文件#多服务器HAspring:application:name:mima-cloud-eureka-hamanagement:security:enabled:false---#启动命令nohupjava-jarmima-cloud-eureka-ha.jar--spring.profiles.active=peer1&server:port:8762spr 查看详情

eureka高可用集群环境搭建(代码片段)

...访问,在这时候就需要对注册中心实现高可用集群模式。Eureka集群相当简单:相互注册Eureka高可用实际上将自己作为服务向其他服务注册中心注册自己,这样就可以形成一组相互注册的服务注册中心,从而实现服务清单的互相同... 查看详情

springcloud学习---eureka详解(2021年10月最新_附代码包)(代码片段)

目录一、前言1.1简单介绍SpringCloud1.2Eureka是什么?二、Eureka创建Server三、Eureka创建多个Client3.1创建第一个Client,用户Client3.2创建第二个Client,支付Client3.3测试:两个Client服务之间的通信四、Eureka的安全性五、Eureka... 查看详情

lvs-利用ldirectord实现rs的高可用(代码片段)

利用ldirectord实现RS的高可用性---实验:搭建Ldirectord,实现RealServer的高可用性LVS高可用性---RS的高可用1Director不可用,整个系统将不可用;SPoFSinglePointofFailure单点失败解决方案:高可用keepalived(实现相对容易的,轻量级的解决方... 查看详情

3springcloud-eureka(高可用eurekaserver集群)(代码片段)

...的项目中,可能有几十个或者几百个的微服务实例,这时EurekaServer承担了非常高的负载。由于EurekaServer在微服务架构中有着举足重轻的作用,所以需要对EurekaServer进行高可用集群  1、此时需要两个服务eureka-server的配置文... 查看详情

微服务架构eureka集群高可用配置(代码片段)

工具:idea环境:java8、maven3版本:springboot 1.5.15.RELEASE1.搭建springbooteureka项目 2.pom.xml添加相应依赖,如下:<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmln 查看详情

如何快速构建服务发现的高可用能力(代码片段)

文章目录如何快速构建服务发现的高可用能力背景一个真实的案例面向失败的设计服务发现过程中的高可用原理解析动手实践前提条件准备工作应用场景后续附录关注code杂坛一线大厂“互联网时讯、各技术栈、产品、开源社区... 查看详情

eurekaserver的高可用

EurekaServer进行互相注册的方式来实现高可用的部署,所以我们只需要将EurekeServer配置其他可用的serviceUrl就能实现高可用部署创建application-peer1.properties,作为peer1服务中心的配置,并将serviceUrl指向peer2spring.application.name=eureka-servers... 查看详情

2eureka注册中心集群(代码片段)

公众号:java乐园1、Eureka作为springcloud的服务发现与注册中心,在整个的微服务体系中,处于核心位置。单机模式下的eureka服务,显然不能满足高可用的实际生产环境,这就要求配置一个能够应对各种突发情况,具有较强容灾能... 查看详情

mysql的高可用(mha)(代码片段)

MySQL的高可用(MHA)MHA简介MHA:MasterHighAvailability,对主节点进行监控,可实现自动故障转移至其他从节点;通过提升某一从节点为新的主节点,基于主从复制实现,还需要客户端配合实现,目前MHA主要支持一主二从,即一台充当master... 查看详情

mysql的高可用(mha)(代码片段)

MySQL的高可用(MHA)MHA简介MHA:MasterHighAvailability,对主节点进行监控,可实现自动故障转移至其他从节点;通过提升某一从节点为新的主节点,基于主从复制实现,还需要客户端配合实现,目前MHA主要支持一主二从,即一台充当master... 查看详情

springcloud学习系列之一-----搭建一个高可用的注册中心(eureka)(代码片段)

...架构以及搭建一个高可用的服务注册与发现的服务模块(Eureka)。SpringCloud介绍SpringCloud是在SpringBoot的基础上构建的,用于简化分布式系统构建的工具集,为开发人员提供快速建立分布式系统中的一些常见的模式。例如:配置管理... 查看详情

分库分表中间件的高可用实践(代码片段)

分库分表中间件的高可用实践前言分库分表中间件在我们一年多的锤炼下,基本解决了可用性和高性能的问题(只能说基本,肯定还有隐藏的坑要填),问题自然而然的就聚焦于高可用。本文就阐述了我们在这方面做出的一些工作... 查看详情

mysql-----keepalived配置mysql的高可用(代码片段)

生产环境对数据库要求很高的,为了避免数据库的突发情况,给他做个保险--用keepalived做高可用环境(此处ip,密码均是乱造的):主:192.1.31.161端口:3306用户:vnum密码:[email protected]从:192.1.31.162端口:3306方案介绍两台mys... 查看详情