最近工作较闲,所以自己研究了下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(一)术语详解(用具体的事物理解抽象的概念)的更多相关文章

  1. RocketMQ——角色与术语详解

    原文地址:http://jaskey.github.io/blog/2016/12/15/rocketmq-concept/ RocketMQ——角色与术语详解 2016-12-15 THU 15:4 ...

  2. Spring框架学习05——AOP相关术语详解

    1.Spring AOP 的基本概述 AOP(Aspect Oriented Programing)面向切面编程,AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码(性能监视.事务管理.安全检查 ...

  3. Zynq7000术语详解,不懂啥是PL,PS,APU,SCU?那就进来看看吧

    Zynq7000术语详解,不懂啥是PL,PS,APU,SCU?那就进来看看吧     相信大家刚看到Zynq手册的时候,对着那么一大堆缩略语肯定是一头雾水,特转来一篇文章,为大家解惑 摘要:本文介绍与 ...

  4. SpringCloud Eureka参数配置项详解

    SpringCloud Eureka参数配置项详解(转) Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能,下 ...

  5. Mysql加锁过程详解(7)-初步理解MySQL的gap锁

    Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select fo ...

  6. 【Android面试查漏补缺】之Handler详解,带你全面理解Handler消息机制

    在安卓面试中,关于 Handler 的问题是必备的,但是这些关于 Handler 的知识点你都知道吗? 一.题目层次 Handler 的基本原理 子线程中怎么使用 Handler MessageQue ...

  7. Spring Cloud Eureka 常用配置详解,建议收藏!

    前几天,栈长分享了 <Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!>,今天来分享下 Spring Cloud Eureka 常用的一些参数配置及说 ...

  8. 微服务架构:Eureka参数配置项详解

    版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能 ...

  9. SpringCloud Eureka参数配置项详解(转)

    Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能,下面对Eureka的配置项做具体介绍,供大家参考. Eure ...

随机推荐

  1. activiti工作流委托功能的设计和实现

    最近公司开发一个项目,客户提出了一个需求,用户在出差的时候,可以将自己的工作进行委托.可以指定委托时间.委托工作内容.指定委托人等等内容. 然后我就上网查询资料,发现activiti工作流本身并不支持 ...

  2. JSP数据交互(一)

    1.JSP内置对象:JSP内置对象是 Web 容器创建的一组对象,不用通过手动new就可以使用 2.JSP9大内置对象:      对象名称 类型 request (请求对象) javax.servl ...

  3. vue.js主要内容

    vue的主要内容 1.了解vue 2.vue开发环境的搭建和脚手架工具的使用 3.vue具体的指令和项目实战 1.了解vue 1.具备基础:html.css.js,模块化概念.ES6语法(简单即可) ...

  4. SpringBoot入门(二):日志及自定义属性

    这一章主要说springboot中日志的配置.自定义属性的配置与读取.分环境的yml配置文件(如本地环境.测试环境.生产环境等).比较偏向实际开发,较为实用,前面一章的一些基本创建在这里就不多废话了. ...

  5. python自动化测试框架unittest

    对于刚学习python自动化测试的小伙伴来说,unittest是一个非常适合的框架: 通过unittest,可以管理测试用例的执行,自动生成简单的自动化测试报告: 首先我们尝试编写编写一个最简单的un ...

  6. resolv.conf文件配置相关的案例

    引言 操作系统中/etc/resolv.conf配置文件中的内容一般为空,如果该文件配置不正确,将导致ssh.route.netstat命令响应慢的问题. 在/etc/resolv.conf添加错误地 ...

  7. java web 加载Spring --web.xml 篇

    spring是目前最流行的框架.今天谈谈对spring的认识 起步 javaweb中我们首先会遇到的配置文件就是web.xml,这是javaweb为我们封装的逻辑,不在今天的研究中.略过,下面是一个标 ...

  8. 洛谷 P4401 [IOI2007]Miners 矿工配餐

    题意简述 有两个矿洞,已知食物的种类(≤3)和顺序,将他们送往任一矿洞, 若一个矿洞3次食物相同,贡献1:若有2种不同食物,贡献2:若有3种不同食物,贡献3 求最大贡献 题解思路 food[i] 为当 ...

  9. hadoop2.7之作业提交详解(下)

    接着作业提交详解(上)继续写:在上一篇(hadoop2.7之作业提交详解(上))中已经讲到了YARNRunner.submitJob() [WordCount.main() -> Job.wai ...

  10. 偏差和方差以及偏差方差权衡(Bias Variance Trade off)

    当我们在机器学习领域进行模型训练时,出现的误差是如何分类的? 我们首先来看一下,什么叫偏差(Bias),什么叫方差(Variance): 这是一张常见的靶心图 可以看左下角的这一张图,如果我们的目标是 ...