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(一)术语详解(用具体的事物理解抽象的概念)的更多相关文章
- RocketMQ——角色与术语详解
原文地址:http://jaskey.github.io/blog/2016/12/15/rocketmq-concept/ RocketMQ——角色与术语详解 2016-12-15 THU 15:4 ...
- Spring框架学习05——AOP相关术语详解
1.Spring AOP 的基本概述 AOP(Aspect Oriented Programing)面向切面编程,AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码(性能监视.事务管理.安全检查 ...
- Zynq7000术语详解,不懂啥是PL,PS,APU,SCU?那就进来看看吧
Zynq7000术语详解,不懂啥是PL,PS,APU,SCU?那就进来看看吧 相信大家刚看到Zynq手册的时候,对着那么一大堆缩略语肯定是一头雾水,特转来一篇文章,为大家解惑 摘要:本文介绍与 ...
- SpringCloud Eureka参数配置项详解
SpringCloud Eureka参数配置项详解(转) Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能,下 ...
- Mysql加锁过程详解(7)-初步理解MySQL的gap锁
Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select fo ...
- 【Android面试查漏补缺】之Handler详解,带你全面理解Handler消息机制
在安卓面试中,关于 Handler 的问题是必备的,但是这些关于 Handler 的知识点你都知道吗? 一.题目层次 Handler 的基本原理 子线程中怎么使用 Handler MessageQue ...
- Spring Cloud Eureka 常用配置详解,建议收藏!
前几天,栈长分享了 <Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!>,今天来分享下 Spring Cloud Eureka 常用的一些参数配置及说 ...
- 微服务架构:Eureka参数配置项详解
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能 ...
- SpringCloud Eureka参数配置项详解(转)
Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能,下面对Eureka的配置项做具体介绍,供大家参考. Eure ...
随机推荐
- Linux学习(一)--VMware下Linux安装和配置
本片随便将给大家讲述linux在VM虚拟机上安装及终端的安装和配置 一.Linux介绍 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线 ...
- 消费端如何保证消息队列MQ的有序消费
消息无序产生的原因 消息队列,既然是队列就能保证消息在进入队列,以及出队列的时候保证消息的有序性,显然这是在消息的生产端(Producer),但是往往在生产环境中有多个消息的消费端(Consumer) ...
- 10-Helm
Helm Chart仓库 helm 架构 https://helm.sh/docs/architecture/ 主要概念 chart 创建Kubernetes应用程序实例所必需的一组信息 config ...
- Ubuntu中修改默认开机项
1首先,按住Ctrl+Alt+t打开终端 2输入cd /etc/default 3输入sudo sudo nano grub 并按照提示输入密码 4在我们开机的时候,可以看到自己想要默认的开机项是多少 ...
- 一文搞懂Python迭代器和生成器
很多童鞋搞不懂python迭代器和生成器到底是什么?它们之间又有什么样的关系? 这篇文章就是要用最简单的方式让你理解Python迭代器和生成器! 1.迭代器和迭代过程 维基百科解释道: 在Python ...
- feign传输String json串 自动转义 \ 解决方法
@RequestMapping(value={"/sysOrgRest/getInfoByOrgIds"}, method={org.springframework.web.bin ...
- Spring系列(二):Spring IoC应用
一.Spring IoC的核心概念 IoC(Inversion of Control 控制反转),详细的概念见Spring系列(一):Spring核心概念 二.Spring IoC的应用 1.定义B ...
- scrapy 自学入门demo分享
[toc] 本文基于python 3.7.0,win10平台: 2018-08 完整项目代码:https://github.com/NameHewei/python-scrapy 安装 安装pytho ...
- DDOS浅谈
一.DDOS攻击的来源 任何攻击都不会凭空产生,DDOS也有特定的来源.绝大多数的DDOS攻击都来自于僵尸网络.僵尸网络就是由数量庞大的可联网僵尸主机组成,而僵尸主机可以是任何电子设备(不仅是X86架 ...
- 不得不会的10点Java基础知识
1.实例变量和类变量 实例变量:指每个对象独立的,修改其中一个对象的实例变量,不会影响其他实例变量的值,变量值无 static 关键字修饰: 类变量:是指所有对象共享的,其中一个对象把该变量的值修改了 ...