eureka集群只注册一个_一、Spring Cloud Eureka服务注册中心

e2fe850c448d22db7d3c3c1b80ae41ed.png

Sping boot

Eureka是服务中心,管理各种服务功能包括服务的注册、发现、熔断、负载、降级等。Spring Cloud Eureka 是对Netflix公司的Eureka的二次封装。

    在dubbo的使用中我们通常使用zookeeper作为注册中心。在这里spring cloud使用Eureka, 用一个标准的spring boot项目就可以快捷的搭建服务注册中心。

Eureka是一个C/S服务,我们需要区分两个,eureka Server和eureka Client

eureka Server是服务注册中心(服务端)。而系统中的其他微服务作为client连接到 Eureka Server,并维持心跳连接。

一、pom

服务端pom

<dependency>      <groupId>org.springframework.cloudgroupId>      artifactId>spring-cloud-starter-netflix-eureka-serverartifactId>dependency>

客户端pom

   <dependency>    <groupId>org.springframework.cloudgroupId>    <artifactId>spring-cloud-starter-netflix-eureka-clientartifactId>    <version>2.2.3.RELEASEversion>dependency>

使用Eureka同时需要spring-web的依赖。

二、服务端

yml配置

spring:  application:    name: spring-cloud-eureka-serverserver:  port: 7001eureka:  client:    #eureka默认情况下,把自己当做客户端来注册自己,所以我们要禁用它 这里是服务端    fetch-registry: false       #表示是否从Eureka Server上获取注册信息,默认为true    register-with-eureka: false #表示是否从Eureka Server上获取注册信息,默认为true    serviceUrl:      # 设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址。默认是http://localhost:8761/eureka ;多个地址可使用 , 分隔      defaultZone: http://localhost:${server.port}/eureka/

@EnableEurekaServer

@EnableEurekaServer@SpringBootApplicationpublic class EurekaApplication {    public static void main(String[] args) {        SpringApplication.run(EurekaApplication.class, args);    }}

运行

此时还没有客户端服务注册进来。

d22710b697a205859fe4e1636162a0df.png

三、客户端

yml配置

spring:  application:    name: spring-cloud-providerserver:  port: 8010eureka:  client:    service-url:      defaultZone: http://localhost:7001/eureka/ 

@EnableEurekaClient

@SpringBootApplication@EnableEurekaClient@EnableDiscoveryClientpublic class EurekaProviderApplication {    public static void main(String[] args) {        SpringApplication.run(EurekaProviderApplication.class, args);    }}

也可以使用@EnableDiscoveryClient

@EnableEurekaClient 只支持Eureka注册中心,@EnableDiscoveryClient 支持Eureka、Zookeeper、Consul 这三个注册中心。

41112cdd4f03a84541629bba8305e13b.png

四、Eureka集群

理论上来讲,因为服务消费者本地缓存了服务提供者的地址,即使Eureka Server宕机,也不会影响服务之间的调用,但是一旦新服务上线,已经在缓存在本地的服务提供者不可用了,服务消费者也无法知道,所以保证Eureka Server的高可用还是很有必要的。

实际上Eureka集群就是互相注册。我搭建了两台:

1cf31ffa881d5c9d8eb08cd5cc3306f7.png

不同节点的Eureka Server通过Replicate(复制)进行数据同步 参数eureka.client.serviceUrl.defaultZone,分别配置对方的地址作为Eureka Client进行相互注册。

.

Eureka 集群单例多启动

本地修改host:

127.0.0.1 Eureka7001.com 127.0.0.1 Eureka7002.com 127.0.0.1 Eureka7003.com

yml配置:

spring:  application:    name: spring-cloud-eureka-serverserver:  port: 7002eureka:  instance:    hostname: Eureka7001.com  client:    #eureka默认情况下,把自己当做客户端来注册自己,所以我们要禁用它 这里是服务端    fetch-registry: false    register-with-eureka: false #不去检索eureka服务    serviceUrl:      # 设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址。默认是http://localhost:8761/eureka ;      #多个地址可使用 , 分隔      #defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/      #集群:7001 注册到 7002      #defaultZone: http://Eureka7002.com:7002/eureka/      #集群:7002 注册到 7001      defaultZone: http://Eureka7001.com:7001/eureka/

把同一个Eureka 改配置启动两次,即可实现。

注意服务注册时,两台Eureka 都要写

五、Eureka自我保护

默认情况下,当eureka server在一定时间内没有收到实例的心跳,便会把该实例从注册表中删除(默认是90秒),但是,如果短时间内丢失大量的实例心跳,便会触发eureka server的自我保护机制。

Eureka在运行期间会统计心跳失败的比例,在15分钟内是否低于85%,如果出现了低于的情况,Eureka Server会将当前的实例注册信息保护起来,同时提示一个警告,一旦进入保护模式,Eureka Server将会尝试保护其服务注册表中的信息,不再删除服务注册表中的数据。也就是不会注销任何微服务。

335fb4beabea579b06055b7e644fdd24.png

该保护机制的目的是避免网络连接故障,在发生网络故障时,微服务和注册中心之间无法正常通信,但服务本身是健康的,不应该注销该服务。

禁止自我保护

eureka:  instance:    hostname: localhost  server:    enable-self-preservation: false #关闭自我保护机制

修改心跳时间

eureka:  server:    #开启自我保护模式    enable-self-preservation: false    #清理无效节点,默认60*1000毫秒,即60秒    eviction-interval-timer-in-ms: 5000

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522453.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于阿里云数加MaxCompute的企业大数据仓库架构建设思路

摘要&#xff1a; 数加大数据直播系列课程主要以基于阿里云数加MaxCompute的企业大数据仓库架构建设思路为主题分享阿里巴巴的大数据是怎么演变以及怎样利用大数据技术构建企业级大数据平台。 本次分享嘉宾是来自阿里云大数据的技术专家祎休 背景与总体思路 数据仓库是一个面向…

拿来就能用!行,这本 Python 书彻底火了!

戳蓝字“CSDN云计算”关注我们哦&#xff01;Python越来越牛了&#xff1f;自从连续半年拿下TOP1编程语言后&#xff0c;无论是薪资还是招聘需求&#xff0c;都越来越多了&#xff01;同时&#xff0c;作为CSDN的编程小姐姐&#xff0c;我发现只要我推送Python相关的文章&#…

easyui datagrid url不请求请求_Go Web编程--深入学习解析HTTP请求

之前这个系列的文章一直在讲用Go语言怎么编写HTTP服务器来提供服务&#xff0c;如何给服务器配置路由来匹配请求到对应的处理程序&#xff0c;如何添加中间件把一些通用的处理任务从具体的Handler中解耦出来&#xff0c;以及如何更规范地在项目中应用数据库。不过一直漏掉了一个…

MaxCompute JOIN优化小结

摘要&#xff1a; Join是MaxCompute中最基本的语法&#xff0c;但由于数据量和倾斜问题&#xff0c;非常容易出现性能问题。一般情况下&#xff0c;join产生的问题有两大类&#xff1a; 数据倾斜问题&#xff1a;join会将key相同的数据分发到同一个instance上处理&#xff0c;如…

李锐:金龙客车DMS上云实践以及对网络、混合云、弹性、运维、安全的思考

摘要&#xff1a; 金龙客车CIO李锐的深度分享。DMS是大金龙管理轻客经销、售后服务、售后备件销售、三包索赔的信息子系统。精细管控国内88家轻客经销商活动&#xff0c;集中轻客订单、在制、收发车、库存、核销、回款等全程通业务&#xff0c;具有金龙整合-创新-增效的特色&am…

不小心执行 rm -f,该如何恢复?

戳蓝字“CSDN云计算”关注我们哦&#xff01;源 / 程序员的那些事前言每当我们在生产环境服务器上执行rm命令时&#xff0c;总是提心吊胆的&#xff0c;因为一不小心执行了误删&#xff0c;然后就要准备跑路了&#xff0c;毕竟人不是机器&#xff0c;更何况机器也有 bug&#x…

flowable 启动流程到完成所有任务之间的数据库变化

先给出流程图&#xff0c;很简单的流程&#xff0c;就是3个UserTask ProcessDefinition pdrepositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).singleResult(); ProcessInstance piruntimeService.startProcessInstanceById(pd.getId());或…

如何使用dll ip转换_如何使用多功能转换插座更安全

作为专业的转换插头厂家&#xff0c;在制造多功能转换插座的时候都会做好了全面的安全考虑&#xff0c;包括但不仅限于以下安全设计&#xff1a;1. 高阻燃外壳材料&#xff1a;万浦电器的多功能转换插座的外壳大多以进口PC材料为主&#xff0c;阻燃温度高达750℃。在高温中不容…

2020计算机考研难度排名,2020年考研难度排名:100所高校上榜,中国人民大学排名第7...

据数据显示&#xff0c;2021年全国硕士研究生报考人数为341万左右&#xff0c;相对于2020年的290万&#xff0c;人数增加了近51万左右&#xff0c;而相对于100万左右考研计划录取人数&#xff0c;这也就意味着每3.5个人只有一个人能够被录取为硕士研究生&#xff0c;当然就考上…

玩转短视频?守护视频安全?AI智能提速?一分钱体验? 阿里云视频点播大招盘点...

摘要&#xff1a; 前言 随着近几年在线视频市场规模不断扩大&#xff0c;内容不断创新&#xff0c;用户粘性增加&#xff0c;在线视频市场的商业价值不断增长&#xff0c;各垂直行业纷纷引入视频能力&#xff0c;一时之间&#xff0c;视频已经成为了众多移动APP和在线平台沉淀用…

美女主播变大妈:在bug翻车现场说测试策略

戳蓝字“CSDN云计算”关注我们哦&#xff01;美女主播变大妈&#xff1a;在bug翻车现场说测试策略文 | 珍妮兔这两天直播圈发生了一起严重的翻车事故。一个一直以“颜值主播”自称的网红女主播“乔碧萝殿下”&#xff0c;因为平台bug&#xff0c;露出了自己的真容&#xff0c;上…

一张图看懂阿里云网络产品[十一]云托付

摘要&#xff1a; 云托付&#xff08;Cloud Hosting&#xff09;是以阿里云的标准&#xff0c;提供给企业优质的机房托管资源、云专线网络以及增值服务&#xff0c;并与阿里云公有云产品结合&#xff0c;为企业搭建混合云提供基础资源。 原文地址&#xff1a;http://click.aliy…

springboot dubbo引入包_spring boot 集成 dubbo 企业完整版

一、什么是Spring Boot &#xff1f;现阶段的 Spring Boot 可谓是太火了&#xff0c;为什么呢&#xff1f;因为使用方便、配置简洁、上手快速&#xff0c;那么它是什么&#xff1f;从官网上我们可以看到&#xff0c;它是 Spring 开源组织下的一个子项目&#xff0c;主要简化了 …

MaxCompute助力ofo实现精细化运营:日订单超3200万、整体运行效率提升76%

摘要&#xff1a;ofo小黄车大数据BI系统负责人龙利民为大家分享了ofo的上云体验&#xff0c;重点分享了MaxCompute的应用实践&#xff0c;最后对阿里云提出了自己的建议需求。 关于ofo小黄车 共享经济不仅与技术相关&#xff0c;它还关乎人类共同命运&#xff0c;关乎可持续发展…

微服务精华问答 | 为什么需要微服务?

戳蓝字“CSDN云计算”关注我们哦&#xff01;过去几年来&#xff0c;“微服务架构”这个术语出现了&#xff0c;它描述了一种将软件应用程序设计为可独立部署的服务套件的特定方式。尽管这种架构风格没有确切的定义&#xff0c;但围绕业务能力&#xff0c;自动化部署&#xff0…

3个点让你彻底明白,为什么要使用MQ消息中间件?

3个点让你彻底明白&#xff0c;为什么要使用MQ消息中间件? 前言 一个用消息队列的人&#xff0c;不知道为啥用&#xff0c;有点尴尬。没有复习这点&#xff0c;很容易被问蒙&#xff0c;然后就开始胡扯了。 回答&#xff1a;这个问题,咱只答三个最主要的应用场景&#xff0c;不…

五位专家跟你讲讲为啥Python更适合做AI/机器学习

摘要&#xff1a; 为什么Python会在这股深度学习浪潮中成为编程语言的头牌&#xff1f;听听大牛如何解释吧&#xff01; 原文地址&#xff1a;http://click.aliyun.com/m/43988/1.Python网络编程框架Twisted的创始人Glyph Lefkowitz&#xff08;glyph&#xff09;&#xff1a;编…

c++如何显示图片_Vue+laravel后端添加商品后图片如何显示?

知识点&#xff1a;利用laravel的php artisan storage:link实现软连接php artisan storage:link命令执行完毕后&#xff0c;就会在项目里多出一个 public/storage&#xff0c;这个 storage 就是一个软链接&#xff0c;它指向 storage/app/public 目录。这样的话我们就可以直接访…

微软发布 Azure 物联网安全中心;阿里巴巴在美申请专利,以实现跨区块链统一管理;Google利用足球训练下一代人工智能……...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 合众汽车新能源哪吒N01 2020…

手把手教您解决90%的自然语言处理问题

摘要&#xff1a; 本文将讲解如何从零开始&#xff0c;有效地处理自然语言问题的指南和技巧&#xff1a;首先解释如何构建机器学习解决方案来解决上面提到的问题。然后转向更细致的解决方案。如何将5W和H应用于文本数据&#xff01;文本数据无处不在从文本数据中提取有意义和值…