Eureka术语详解(用具体的事物理解抽象的概念)
Posted lisijia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eureka术语详解(用具体的事物理解抽象的概念)相关的知识,希望对你有一定的参考价值。
最近工作较闲,所以自己研究了下eureka的原理,实现,和集群搭建等。(注:我没实操过eureka集群项目,都是自己做的demo产生的结论,如果有错误欢迎指出)
首先说一下我对eureka的一些术语的简单易懂的理解(因为我个人习惯问题,喜欢把抽象的事物用生活中的角色来理解,所以会大量比喻):
Eureka角色
服务端:即服务注册中心。——我是用生活中的淘宝来理解它的
客户端:客户端向服务注册中心注册自身提供的服务,并周期性的发送心跳来更新它的服务租约。 ——这个我理解为淘宝中的店铺。这里所说的客户端只是一个对于eureka的角色,千万别单纯的理解为客户那端。其实换个角度思考,在相对于服务的使用者来说,客户端还是服务的角色呢。
术语理解
服务注册中心:我觉得这个概念还是应该拿出来单独聊一聊。什么是服务注册中心?就是一个中间平台。还是拿淘宝比喻,你说淘宝自己生产商品么(别跟我抬杠说自产啊)?淘宝买商家的商品么?都不,而是只提供一个平台让买家卖家可以通过它达成交易。服务注册中心就是一个这样的角色,然后他需要提供的功能也和淘宝差不多1,保证商家可靠。2,有新注入的商家让所有人能看到。3,商家不干了关门了你得及时给删除了。4,买家卖家得能联系。所以这也对应着eureka的功能术语。
服务注册:在eureka中的服务注册就是客户端注册到服务端(也就是服务注册中心)的url。我们可以理解为一家商铺注册到淘宝中。
服务发现:服务调用的时候向服务端发送请求,然后服务端找出对应的服务。你去淘宝买东西是不是要先搜索你要买啥?然后淘宝给你找出对应的卖家是吧。这里的服务发现就是这个道理。
负载均衡:这个概念从名字上看就可以理解。压力平均分嘛!还是淘宝比喻,全国那么多买家,如果一样东西只有一个卖家。那么卖家忙不过来怎么办?你买个东西过了一年发货,你能受得了么?所以对于确实买家很多的商铺,就得多设卖家。只不过不同点是淘宝上的店铺是买家自己选择的。而注册中心的不同实例是由注册中心自带的算法分配你去访问哪一个的。
服务续约:服务提供者通过http向注册中心发送心跳,让服务注册中心知道自己还活着。这个更好理解了。假如(我不是卖家我不知道,这里比喻)淘宝商家要每个月向淘宝交下个月的平台费。你这个月没交,可能就是下个月不想继续干了。这个时候淘宝就有个心理准备了。这里有个重要点,不是你今天没交钱明天淘宝就给你下线。而是有个时间的。起码这个月得过完对吧?所以续约这个也是,不是这次心跳没发送直接下了你。
失效剔除:Eureka Server在一定的时间(默认90秒)未收到客户端的心跳,则认为服务宕机,注销该实例。这个用我上面的方法理解。淘宝商家三个月都不交钱了。然后淘宝平台看你是真的不干了。万一还在列表里哪个买家下单了还不发货那用户体验不是不好了么。。得,给你从列表删除了。这个就是失效剔除。
自我保护:自我保护模式的架构哲学是宁可放过一个,决不可错杀一千。心跳失败比例在15分钟内,低于85%,则开始怀疑自己了,不剔除客户端了。这个其实也能理解。假如淘宝是每个月15号商家向平台汇下个月的款。如果是一个两个卖家没汇,淘宝平台寻思肯定是那两家不想干了。但是!!假如全部或者说百分之九十商家都没汇款~淘宝平台就得寻思咋回事?是不是我银行账户被封了?还是这个月跟他们说的账号说错了?之类的。。。然后开始调查自己的原因。这期间不删除商家。
注册中心本身可以做为客户端注册:这个不算是术语,但是因为今天看到群里有人提出这点并感到疑惑,所以我觉得也可以列出来说说。首先他是有这个功能,但是可以开启可以关闭的。并且这个是作为Eureka集群实现的一个重要基础。继续用我通俗易懂却不一定十分恰当的比喻:你看现在的淘宝,多方联合~~你想逛个咸鱼捡捡便宜,看个商品不错点进去一看,哎我去~~这个不是淘宝么?同理你在淘宝逛啊逛啊逛~~指不定哪个链接点击去就发现是咸鱼中的消息了~~什么原理?不就是淘宝咸鱼藕断丝连不清不楚互相注册了么?同理,两个eureka互相注册了也是这样,从用户的角度双倍商品双倍快乐~~虽然也是双倍花费~~从商家角度讲~~反正eureka只是一个中心又不是盈利机构!讲个什么讲,客户满意就好了啊~~~当然我还有一个浅显的理解~~这个只是做了个demo讲server端作为客户端的权限打开了~于是在注册的服务中发现了eureka-server这个服务~~所以我觉得~~是不是其实假如在eureka中写一些接口也是可以调用的?就好像京东是个平台,但是也有京东自营这个卖家?因为这个还没有实际尝试所以在此下个推测~~以后有机会试一下再来补充~~
然后如果有比较了解的亲们或者说我上述观点哪里有偏颇~~欢迎指出~~!!!
喏,手打不易,大家动动小手喜欢分享转发关注评论啥的~~~~
以上是关于Eureka术语详解(用具体的事物理解抽象的概念)的主要内容,如果未能解决你的问题,请参考以下文章