您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

SpringCloud实践:引入Eureka组件以改进服务治理 《源码分享》

  • 时间:2022-08-10 01:09 编辑: 来源: 阅读:312
  • 扫一扫,手机访问
摘要:SpringCloud实践:引入Eureka组件以改进服务治理 《源码分享》
简介网飞尤里卡是网飞基于REST服务的开源注册中心,用于提供服务发现功能。 Spring Cloud Eureka是Spring Cloud网飞微服务套件的一部分,基于网飞Eureka进行二次封装,主要负责完成微服务架构中的服务治理功能。 Spring Cloud Eureka是一个基于REST的服务,提供了基于Java的客户端组件。在Spring Cloud Eureka注册服务进行统一管理,非常方便。 部署Eureka Server,创建一个名为eureka-server的Spring云项目(省略),并引入eureka-server依赖项(Maven) 将服务端口修改为8761,修改向eureka注册的配置,并添加一个eureka . client . register-with-eureka = false的配置。作为EurekaServer,您不能在Eureka Server中注册您自己的实例,如果是集群部署,它将被设置为true(如果您没有配置默认值,它将为true)。 修改fetch-registry配置,添加一个eureka . client . fetch-registry = false的配置,这意味着Eureka的注册表信息不是从Eureka服务器获取的。如果是集群部署,则设置为true(如果未配置默认值,则设置为true)。 添加defaultZone配置并添加一个配置eureka . client . service-URL . default zone = http://localhost: 8761/eureka/(如果不添加这个,自己设置端口,可能会报错:连接到localhost:8761超时)。启动Eureka服务器并访问http://localhost:8761/。如果顺利的话,可以看到下面的成功页面。至此,一个简单的尤里卡注册中心已经完成,未来所有实战中的尤里卡客户端都将在这个注册中心注册。 上面的演示只是单机部署。接下来,让我们看看当我们想要部署多个Eureka节点时我们能做些什么。 Euraserver集群部署集群部署一般有两种情况,一种是伪集群部署,一种是真集群部署。 集群部署,我们可以部署在多台物理机上,这样多个实例可以使用同一个端口,不会出现伪集群端口冲突的问题。更推荐这种方式,性能更高,稳定性更好。 伪集群部署一般是指在同一个物理机上部署多个节点。这时候端口一定要不一样,否则启动时会有端口冲突。伪集群部署示例:假设您想要部署三个节点:master/slave1/slave2。配置并定义应用程序中三个节点的端口。yml:port:master:8761 slave 1:8762 slave 2:8763。我们可以创建三个配置文件application-master.yml、Application-slave1.yml、application-slave2.yml,这三个配置文件的端口是不同的,除非存在冲突, 其他配置完全相同# Application-master . yml Server:port:$ { port . slave 1 } # Service port # Application-master . yml Server:port:$ { port . slave 1 } # Service port # Application-slave 2 . yml Server:port:$ { port . slave 2 } # Service port #以下三个配置文件相同eureka:client:register-with-Eureka:true #不要向Eureka Server Fetch-Registry注册自己的实例:true #不要获取Eureka的注册信息 http://127 . 0 . 0 . 1:$ { port . slave 2 }/eureka/instance:hostname:eureka-server server:enable-self-preservation:true #开启自我保护机制,同样默认开启的IDEA开始分别访问http://localhost:8761/或http://localhost:8762/或http://localhost:8761/。 下面类似的页面说明上面的页面观察成功。发现Eureka服务器节点都出现在不可用副本下,表明集群构建失败。如何处理这个问题?向主机添加以下配置127 . 0 . 0 . 1 Eureka-server-master 127 . 0 . 0 . 1 Eureka-server-slave 1127 . 0 . 0 . 1 Eureka-server-slave 2并修改三个配置文件的defaultZone信息Eureka:c client:service-URL:default zone:Http://Eureka-server-master:$ { port . master }/Eureka/,Http://Eureka-server-slave 1:$ { port . slave 另外两个节点将出现在available-replicas选项图像中注意:如果它仍然出现在中,请检查您是否可以配置prefer-ip-address = true,true #以通过ip地址向服务中心注册,以及相互注册以使用IP地址。 如果是在物理机上,IP是一样的,建议设置为false,或者不配置再试一次。 部署Eureka客户端,创建一个名为eureka-client(缩写)的SprintBoot项目,并引入eureka-client依赖项(Maven) 说明当网络出现故障时,所有服务都无法与Eureka服务器正常通信。过了一段时间后,Eureka服务器没有收到更新信息,将删除不更新的实例。 这个时候正常的服务也会被移除,所以需要引入自我保护机制来处理这个问题。 当服务提供商由于网络故障而无法与Eureka Server续签合同时,Eureka Server将删除该实例。此时服务消费者无法从Eureka服务器获取相应的信息,服务提供者实际上是可用的。问题就是这样产生的。 开启自保护机制eureka . server . enable-self-preservation = true #开启自保护机制,默认情况下也是开启的。当服务提供商与Eureka Server续约失败时,即使Eureka Server开启了自保护模式,实例也不会被移除,服务消费者仍然可以拉取服务提供商的信息,正常发起呼叫。 然而,自我保护机制也有缺点。如果服务提供商真的下线了,因为Eureka服务器自我保护还开着,所以不会删除任务信息。当服务消费者调用服务提供者B时,会出现错误。 自保护模式有利有弊,但我们建议在生产环境下开启,默认配置也是开启的。 Summary @EnableEurekaServer注释用于实现向@EnableEurekaClient注册注册表。在部署Eureka服务器集群时,有必要确保register-with-eureka和fetch-registry为真。单机部署可以启动虚假生产环境的自我保护机制。如果你觉得这篇文章对你有帮助,可以喜欢,关注一下。


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)
【技术支持|常见问题】别告诉我你没看过邰方这两则有思想的创意广告! (2022-11-04 10:37)
【技术支持|常见问题】你正确使用https了吗? [php源码](2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部