spring cloud系列教程第四篇-Eureka基础知识
通过前三篇文章学习,我们搭建好了两个微服务工程。即:order80和payment8001这两个服务。有了这两个基础的框架之后,我们将要开始往里面添加东西了。还记得分布式架构的几个维度吗?我们要通过一个一个维度来讲解每个知识点。如下图:
任何一个分布式或者是微服务都会需要一个服务注册中心。用来服务的注册与发现。所以,我们就来先从服务注册中心这个维度来开讲。先来讲讲今年之前比较流行的一个技术:Eureka.
本文主要内容:
1:服务治理的理解
2:服务注册与发现的理解
3:Eureka两个组件
4:总结
本文是由凯哥(凯哥Java:kagejava)发布的《spring cloud系列教程》教程的总第四篇:《spring cloud系列教程第四篇-Eureka基础知识》。
本文是几个维度中的第一个维度:注册与发现维度配置中心管理之Eureka相关教程第一篇。
什么是服务治理?
在传统的RPC远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,在这种情况下,我们就需要使用到服务治理了。管理服务与服务之间的依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册的技术。
Spring cloud 封装了Netflix公司开发的Eureka模块来实现服务治理。
什么是服务注册与发现?
Eureka采用了CS的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用Eureka的客户端连接到Eureka Server并维持心跳连接。这样系统的维护人员就可以通过Eureka Server来监控系统中各个服务是否正常运行。
在服务注册与发现中,有一个注册中心。当服务器启动的时候,会把当前自己服务器信息(比如:服务地址、通讯地址等)以别名的方式注册到注册中心上。另一方(消费者服务提供者),以该别名的方式去注册中心上获取到实际的服务通讯地址,然后再实现本地RPC调用RPC。远程调用框架核心思想:在与注册中心,因为使用注册中心管理每个与服务之间的一个依赖关系(服务治理概念)。在任何RPC远程框架中,都会有一个注册中心(存放服务地址相关的信息:接口地址)。
下图是Eureka系统架构与dubbo系统架构的对比:
简单理解provider、consumer和Eureka 注册中心的关系。
比如,现在你在某个平台上正在看凯哥发布的这篇文章。其中自媒体平台就是一个注册中心,你和凯哥就是一个消费者,一个生产者。
凯哥需要在平台上注册一个账号,进行发布文章。充当生产者的角色;
你需要访问(或者是注册)平台,进行文章浏览。其实充当的就是消费者了。
这样来说,关系是不是就很好理解了。
Eureka的两个组件
Eureka Server提供服务的注册服务.
各个微服务节点通过配置启动后,会在EurekaServer中进行注册,这样EurekaServer中的服务注册表中将会存储所服务节点的信息,服务节点的信息可以在接口中直观的看到。
Eureka Client通过注册中心进行访问
是一个Java客户端,用与简化Eureka Server的交互,客户端同时也具备一个内置的,使用轮询(round-robin)的负载均衡器。在应用启动后,将会向Eureka Server发送心跳(默认周期为30s)。如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,Eureka Server将会从服务注册表中把这个服务节点移除掉(默认90s,也就是3个心跳周期).
总结
本文主要让大家记住Eureka的两个组件。分别是seriver和client.客户端默认每30秒向服务发送一次心跳请求,用与告诉服务端,我还是可用的。如果服务端默认3个心跳周期,也就是在90秒没有收到某个客户端发送的心跳信息后,服务端将会从服务注册表把对应的服务节点移除掉。因为服务端会认为这个客户端不可用了。
下篇预告:在下一篇文章中,我们来讲讲单机办的Eureka构建步骤
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
分页显示大数据,原来方法这么多,快来学几个
即将开播:5月20日,基于kubernetes打造企业级私有云实践 我有一个表,有几十万行数据,但是我其实只想看一部分,怎么办呢? 有没有像网页预览那样,一个页面只显示固定条数,可以翻页呢?--雨夜又遇到问题了 别着急,我给你来三个方法,搞定这个事情,从简单公式,到代码到数据库语言SQL方法,今天全部给你分析一遍 01 函数法 先来看看数据格式 我现在要格式,通过右边页码,自定义条数,来控制显示条数,效果如图 (函数方法效果演示) 最大页码如果判断? 中心思想:总行数 / 每页条数-----这个数值,如果是小数,我都想上舍入取整数 就是12.5页,我显示13页 总行数= COUNTA(数据!A:A)-1 COUNTA(数据!A:A) ----包换表头的总数据条数 COUNTA(数据!A:A)-1 ----就是去掉表头后的数据总条数 每页条数=K2单元格 向上舍入小数点,用函数: ROUNDUP(数字,小数位数) 这里最后公式: =IFERROR(ROUNDUP((COUNTA(数据!A:A)-1)/K2,0),1) 用了一个IFERROR函数,容错也显示1页 思考规律,如何判断第一个要...
- 下一篇
六问数据中台!你想知道的都在这了!
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 数据中台、相信这四个字大家一定不陌生。因为在2019年、数据中台可谓是最火的概念之一,很多大公司都在布局自己的数据中台。 那么数据中台到底是什么?它和我们熟知的数据平台有啥区别?它为什么会这么火、能给企业带来什么价值呢?数据中台整体架构和全景图又是什么呢? 笔者有幸参与了公司数据中台从0到N的建设,计划从概念到落地,把中台那些事跟您说透,与您一起分享学习。 第一问:数据中台是什么 先不说那些官方的抽象的概念了,我想用我自己的大白话去说数据中台的概念。 那就是如果把前台比作赚钱的。后台比作支持的。那么中台呢就是支持加速赚钱的。 这个比喻我觉得还是很形象的,中台呢它实质就是前台和后台的一个桥梁,并且它能在这当中起到很好的加速效果。这里的加速,可以是效率上的提高,可以是协作上的共赢。 举个例子,比如前台业务人员日常要分析广告投放、在哪个平台投放效益最好呢?抖音还是头条呢?这直接涉及到公司的money了。 前台人员要分析这个肯定要有数据吧、就会向后台人员要数据:我需要哪些表你要帮我同步过来数仓里...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7安装Docker,走上虚拟化容器引擎之路