Eureka - 总览

news2024/11/20 18:46:25

文章目录

  • 前言
  • 架构
    • 注册中心 Eureka Server
    • 服务提供者 Eureka Client
    • 服务消费者 Eureka Client
  • 总结
  • 资源


前言

微服务(Microservices,一种软件架构风格)核心的组件包括注册中心,随着微服务的发展,出现了很多注册中心的解决方案,其中包括我们熟知的 Eureka。

Eureka 的设计原则是 AP,即可用性和分区容错性。在某一时刻各个节点的数据可能是不一致的,但最终会同步保持一致。

架构

Eureka 架构
上图是 Eureka 组件的调用关系。

注册中心 Eureka Server

注册中心启动后,将从其他节点(若有)获取(fetchRegistry)服务注册信息,并且定时运行 evict 任务,剔除没有按时 renew 的服务(非正常停止和网络故障的服务)。运行过程中,接受服务提供者的注册(register)、心跳(renew)和下线(cancel)请求,这些请求数据,也会同步到其他注册中心节点。

  • DefaultEurekaServerContext#initialize:初始化同步节点注册信息
  • AbstractInstanceRegistry#postInit:剔除定时任务,默认 60 秒

服务提供者 Eureka Client

服务提供者启动后,向注册中心发起 register 请求注册服务,并且启动定时任务向注册中心发送 renew 心跳,防止被注册中心驱除 evict。当服务提供者关闭时,向注册中心发送下线 cancel 通知。

  • DiscoveryClient#register:向注册中心注册当前服务
  • DiscoveryClient#renew:定时向注册中心续租,默认 30 秒
  • DiscoveryClient#shutdown:客户端关闭取消租约

服务消费者 Eureka Client

服务消费者启动后,向注册中心拉取 fetchRegistry 服务注册信息,并且启动定时任务定时更新注册列表。消费者根据需求向提供者发起请求。

  • DiscoveryClient#fetchRegistry:获取服务注册列表

总结

Eureka 主打高可用,对数据一致性要求较低,可适用于云机房集群,跨越多机房部署的场景。

资源

微服务
Netflix/eureka
CAP 定理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/387971.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【项目精选】 塞北村镇旅游网站设计(视频+论文+源码)

点击下载源码 摘要 城市旅游产业的日新月异影响着村镇旅游产业的发展变化。网络、电子科技的迅猛前进同样牵动着旅游产业的快速成长。随着人们消费理念的不断发展变化,越来越多的人开始注意精神文明的追求,而不仅仅只是在意物质消费的提高。塞北村镇旅游…

Android事件分发机制

文章目录Android View事件分发机制:事件分发中的核心方法onTouchListener和onClickListener的优先级事件分发DOWN,MOVE,UP 事件分发CANCEL代码实践requestdisallowIntereptTouchEvent作用Android View事件分发机制: 事件分发中的核心方法 Android中事件…

一文让你彻底理解Linux内核多线程(互斥锁、条件变量、读写锁、自旋锁、信号量)

一、互斥锁(同步) 在多任务操作系统中,同时运行的多个任务可能都需要使用同一种资源。这个过程有点类似于,公司部门里,我在使用着打印机打印东西的同时(还没有打印完),别人刚好也在…

【Tcp和Udp】

udp和tcpTcpTcp协议的断开与连接Tcp的状态转移复位报文段交互数据流与成块数据流流式服务特点应答确认与超时重传滑动窗口拥塞控制Udp协议特点Tcp Tcp协议的断开与连接 Tcp协议提供的是:面向连接,可靠的,字节流服务。 使用Tcp协议通信的双方…

java封装继承多态详解

1.封装 所谓封装,就是将客观事物封装成抽象的类,并且类可以把数据和方法让可信的类或者对象进行操作,对不可信的类或者对象进行隐藏。类就是封装数据和操作这些数据代码的逻辑实体。在一个类的内部,某些属性和方法是私有的&#…

自学大数据第三天~终于轮到hadoop了

前面那几天是在找大数据的门,其实也是在搞一些linux的基本命令,现在终于轮到hadoop了 Hadoop hadoop的安装方式 单机模式: 就如字面意思,在一台机器上运行,存储是采用本地文件系统,没有采用分布式文件系统~就如我们一开始入门的时候都是从本地开始的; 伪分布式模式 存储采用…

openpnp - 判断吸嘴是否指定了正确的旋转轴

文章目录openpnp - 判断吸嘴座是否指定了正确的旋转轴概述笔记吸嘴单独矫正的时候Calibrate precise camera ↔ nozzle N1 offsets.ENDopenpnp - 判断吸嘴座是否指定了正确的旋转轴 概述 如果没有指定吸嘴座的正确旋转轴, 会因为对应吸嘴该旋转时不旋转, 而是另外一个空闲的吸…

Linux学习记录——십삼 程序地址空间

文章目录1、了解程序地址测试代码2、理解程序地址空间3、程序地址空间存在的意义1、了解程序地址测试代码 1 #include <stdio.h>2 #include <assert.h>3 #include <unistd.h>4 5 int g_value 100;6 int main()7 {8 pid_t id fork();9 assert(id &g…

设计模式之结构型模式

1、代理模式1.1 静态代理1.2 jdk 动态代理1.3 CGLIB 动态代理1.4 优缺点2、适配器模式2.1 类适配器模式2.2 对象适配器模式2.3 JDK 源码解析3、装饰者模式3.1 JDK 源码解析3.2 代理模式与装饰者模式的区别4、桥接模式5、外观模式6、组合模式6.1 组合模式的分类6.2 优点及使用场…

ZincSearch Java 客户端教程

ZincSearch Zinc 简单、强大&#xff0c;不了解的同学可以参见我之前的博客。今天我们这里谈谈 Java 环境如何集成 Zinc 客户端&#xff0c;跟如何使用的。 安装 Zinc 到 Github 的官方 Releases 下载&#xff1a; 我的是 Windows 开发环境&#xff0c;下载 zincsearch_0.4…

基于支持向量机SVM的面部表情分类预测

目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 SVM应用实例,基于SVM的面部表情分类预测 代码 结果分析 展望 支持向量机SVM的详细原理 SVM的定义 支持向量机(support vector machines, SVM)是一种二分类模型,它的基本…

【网络】-- 网络编程套接字(铺垫、预备)

目录 理解源IP地址和目的IP地址 认识端口号 端口号 理解源端口号和目的端口号 套接字 认识TCP与UDP协议 网络字节序 socket编程接口 socket 常见API sockaddr结构 理解源IP地址和目的IP地址 就如同我们唐僧的取经路&#xff1a; 唐僧的出发地到目的地&#xff1a;东…

阿尔法开发板 .bin 文件烧写

一. IMX6ULL 开发板简介 IMX6ULL 开发板是正点原子提供的阿尔法开发板&#xff0c;所用芯片为恩智浦&#xff0c;基于 Cortex-A7 架构。 这里介绍一下裸机篇中&#xff0c;关于如何将 .bin 文件烧写进 SD 卡&#xff0c;从而设备运行程序。 二. xx.bin 文件烧写 IMX6ULL支…

句子的改写和扩写

目录 1.句子改写 2.句子扩写 &#xff08;不低于15个句子算是长句子&#xff0c;不能太多长句子&#xff09; 1.句子改写 我绝不会嫁给你的。 如果你是世界上最后一个男人&#xff0c;我就去寺庙。 If you married me,I would jump into the well. 如果你嫁给我&#xff0c;我…

【Java学习笔记】5.Java 基本数据类型

Java 基本数据类型 变量就是申请内存来存储值。也就是说&#xff0c;当创建变量的时候&#xff0c;需要在内存中申请空间。 内存管理系统根据变量的类型为变量分配存储空间&#xff0c;分配的空间只能用来储存该类型数据。 因此&#xff0c;通过定义不同类型的变量&#xf…

计算机网络的166个概念你知道几个 第三部分

广播&#xff1a;我们一般小时候经常会广播体操&#xff0c;这就是广播的一个事例&#xff0c;主机和与他连接的所有端系统相连&#xff0c;主机将信号发送给所有的端系统。 多播&#xff1a;多播与广播很类似&#xff0c;也是将消息发送给多个接收主机&#xff0c;不同之处在于…

最近一年我都干了什么——反思!!

过去一年不管是学习方式还是心态上都和以往有了许多不同的地方&#xff0c;比较昏昏沉沉。最近慢慢找到状态了&#xff0c;就想赶紧记录下来。 学习 在学习新技术的过程中开始飘了&#xff0c;总感觉有了一些开发经验后就觉得什么都不用记&#xff0c;知道思路就行遇到了现场百…

15、正则表达式

目录 一、元字符 二、限定修饰符 一、元字符 正则表达式通常被用于判断语句中&#xff0c;用来检查某一字符串是否满足某一格式。正则表达式是含有一些具有特殊意义字符的字符串&#xff0c;这些特殊字符称为正则表达式的元字符。例如&#xff0c;“\\d”表示数字0~9中的任何…

BUU [ZJCTF 2019]Login

这是一道让我感觉很淦的题&#xff0c;整一天了才大致了解了来龙去脉 开始&#xff1a; 首先丢到虚拟机checksec一下看看有啥保护措施&#xff1a; 看到开了Canary&#xff0c;就已经感觉不妙了&#xff0c;接着丢到IDA里看看啥情况 一看&#xff0c;是令人痛苦的c风格的代码…

IDEA中使用Tomcat的两种方式:集成本地Tomcat使用Tomcat Maven插件

一、前言 在IDEA中创建完一个Maven Web项目&#xff0c;并补齐了目录以后&#xff0c;准备使用Tomcat时&#xff0c;就需要在自己创建的项目中去部署Tomcat&#xff0c;前文已经介绍了如何创建Maven Web&#xff0c;所以这里就不多加赘述&#xff0c;直接讲述部署Tomcat的方法…