打开APP
未登录
开通VIP,畅享免费电子书等14项超值服
开通VIP
首页
好书
留言交流
下载APP
联系客服
Eureka 心跳机制
vnxy001
>《心跳机制》
2022.02.09
关注
基本阐述
心跳机制是定时发送一个自定义的结构体(心跳包),让对方知道自己还活着,以确保连接的有效性的机制。
心跳机制是每隔几分钟发送一个固定信息给服务端,服务端手收到后回复一个固定的信息。如果服务端几分钟内没有收到客户端消息则视客户端断开。
发送方可以是客户端或服务端,根据实际情况,一般是客户端;因为一个服务端可能有很多客户端,服务端作为发送方的比较耗费性能。
应用场景:判断长连接是否真正存活。当长连接没有流量时,无法判断是通信异常引起还是通信正常但没有业务流量引起时,通过心跳包进行判断。
实现技术
方式一:应用层实现心跳机制(推荐)
优点:实现策略灵活,能及时检测到连接状态;
缺点:每个应用都需要有一套,无法底层共用;
方式二:利用TCP的KeepAlive机制
TCP协议本身提供了心跳机制,需要通过SO_KEEPALIVE开启。默认情况下,当连接空闲2小时后,每隔75s发送一次心跳包,如果连续9次没有收到响应则关闭连接。
优点:不需要二次开发,简单配置参数即可;
缺点:网络环境的复杂性使得KeepAlive机制容易失效;
在现实中应用
Eureka + 心跳机制
代码举例
Eureka 配置
Eureka 的 心跳机制 还有概念 叫续租。心跳续租。
什么是Eureka?
Eueka是Netflix(网飞公司)开发的服务发现组件,本身是一个基于REST的服务。Spring Cloud将他集成在其子项目spring-cloud-netflix中,以实现Spring Cloud的服务发现功能。
这里有些概念来源于
亚马逊AWS(Amazon Web Service)云服务
的。即区域region、可用区available zone = AZ。
AWS的每个区域region一般由多个可用区(AZ)组成,而一个可用区一般是由多个数据中心组成。
在非AWS环境下,可以简单地将region理解为Eureka集群,zone理解成机房。一个Eureka集群被部署在了zone1机房和zone2机房中。
每个可用区:都是一个Eueka Server 和 多个 Eueka Client组成。
其中 Eueka Client 相对于应用程序角色又分:应用程序Server Eueka Client;应用程序Client EuekaClient
然后 应用程序Server 可能对应 多个 应用程序Client,这里解释了zone可以理解成机房,因为应用程序Server一般要部署在一个服务器上,不同应用程序Client提供不同的微服务,视情况,分布式部署到多台机器上。这些机器放在一块,由一个机房统一管理。
最后发现这些应用程序Client,并不是常理解的手机客户端,电脑客户端等终端。而是相对于这些终端的服务提供者。终端是服务消费者。
Eureka就是一个服务中心,避免了服务之间的直接调用,方便后续的水平扩展、故障转移等。服务中心这么重要的组件一旦挂掉将会影响全部服务,因此需要搭建Eureka集群来保持高可用性,生产中建议最少两台。
Eueka Server是怎么在现实中集成的?实际上在应用程序Server Eueka Client所在项目通过依赖集成的 如下
EuekaClient 是怎么在现实中集成的?实际上在应用程序Client Eueka Client所在项目通过依赖集成的 如下
spring-cloud-starter-parent 具备spring-boot-starter-parent同样功能并附加Spring Cloud的依赖
spring-cloud-starter-config 默认的配置服务依赖,快速自动引入服务的方式,端口8888
spring-cloud-config-server/client 用户自定义配置服务的服务端/客户端依赖
spring-cloud-starter-eureka-server 服务发现的Eureka Server依赖
spring-cloud-starter-eureka 服务发现的Eureka客户端依赖
spring-cloud-starter-hystrix/zuul/feign/ribbon 断路器(Hystrix),智能路有(Zuul),客户端负载均衡(Ribbon)的依赖
angular-ui-router 页面分发路由依赖
Eueka依赖包过期问题
使用最新的 spring-cloud-starter-netflix-eureka-server,而
spring-cloud-starter-eureka-server
已经过期
使用最新的 spring-cloud-starter-netflix-eureka-client ,而spring-cloud-starter-eureka 已经过期
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报
。
打开APP,阅读全文并永久保存
查看更多类似文章
猜你喜欢
类似文章
Eureka工作原理
携程Apollo配置中心架构深度剖析
3-3 Eureka Client的使用
万字长文,助你吃透Eureka服务发现机制!
ZooKeeper集群“脑裂”问题处理大全
【眼前一亮!】看Hadoop底层算法如何优雅的将大规模集群性能提升10倍以上?【石杉的架构笔记】
更多类似文章 >>
生活服务
热点新闻
留言交流
回顶部
联系我们
分享
收藏
点击这里,查看已保存的文章
导长图
关注
一键复制
下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!
联系客服
微信登录中...
请勿关闭此页面
先别划走!
送你5元优惠券,购买VIP限时立减!
5
元
优惠券
优惠券还有
10:00
过期
马上使用
×