高频面试题—聊一下Euraka的注册原理

273 阅读3分钟

这是我参与8月更文挑战的第5天,活动详情查看: 8月更文挑战

如何判断一个人对Euraka的使用程度,那就需要去问他对其执行原理是否清楚,当然这也不能完全检测出来他的熟练程度,但是最起码会有一个基本的理解。

那么Euraka的执行流程又是什么,我们都知道Euraka的最重要的功能就是服务注册,那么问题就来了,Euraka的服务注册流程,或者说原理是什么呢?来解释下。

Euraka的服务注册流程共有以下几个重点知识,服务注册服务续约服务剔除服务下线获取注册信息等多个关键词。

Euraka注册流程

先大概的说一下其注册流程。

  1. 首先在应用启动时,系统会读取Euraka的相关配置,从而加载Euraka所配置的相关信息,以保证后续注册使用。

  2. 接着去加载自身配置信息,并且封装成Euraka客户端实例,并且将此实例发送给Euraka服务端。

  3. 然后获取Euraka服务端的注册信息,缓存至本地服务中。

  4. 最后将自身实例注册到Euraka注册中心内。

  5. 从上一步结束其实就已经是Euraka的注册流程了,但是成功注册之后,还会存在一个续约的情况,因为客户端和服务端需要频繁去获知对方是否可用;这里就牵扯到Euraka的服务续约功能了。

  6. Euraka客户端还会定时的获取Euraka注册中心的注册信息,以保证本地注册信息与服务端一致度;这里就是获取注册信息功能了。

  7. 当Euraka客户端需要销毁当前实例时,需要执行内部代码块方可在Euraka注册中心内进行消除;这里说的就是服务下线功能。

  8. 在发生状况下,当服务提供方连续一段时间(这个时间默认是90s,但是可以自行设置)没有向注册中心进行续约操作时,注册中心会将该服务从服务注册列表中剔除;这里就是服务剔除功能。

到此为止,Euraka的注册流程大概就说完了,接下来我们来解释一下目前提到的几个关键词吧。

关键词分析

服务注册

Euraka客户端向Euraka注册中心提供ip、port等一系列基础信息,以注册至注册中心。

服务续约

Euraka提供了一个心跳监测的功能,Euraka客户端通过定期的心跳时间,与注册中心进行一个续约操作,这个时间默认为30s,Euraka也提供了相关的配置项来供开发者配置。

服务剔除

若超过90s时间没有进行续约操作,则注册中心不会再保存Euraka客户端的相关信息,会进行一个剔除操作。时间默认为90s,Euraka也提供了相关的配置项来供开发者配置。

服务下线

Euraka客户端在程序关闭时向注册中心发起服务下线操作,注册中心接到通知,会将其所有信息删除,但是这个服务下线操作需要开发者自行编写代码进行调用。

获取注册信息

获取注册信息就比较好理解了,Euraka各实例都会在需要的时候想注册中心发起请求,注册中心也会反馈给实例当前所有的注册信息。