Eureka

news2024/9/20 8:40:46
Eureka介绍

注册中心 : 每个服务都有自己的ip和端口,,一个服务调用另一个服务的时候都需要知道对方的ip,,,

Eureka类似 dubbo中的zookeeper

Eureka 是 netflix公司提供的一款服务注册中心,,,基于REST来实现服务的注册与发现,,,

Eureka两部分:

  • 服务端: 注册中心,,用来接受其他服务的注册
  • 客户端: 是一个java客户端,用来注册服务,并可以实现负载均衡等功能
    在这里插入图片描述
    eureka中有三个角色: eureka server,,provider,,consumer
Eureka搭建

Eureka是 使用 java开发的
引入spring-cloud-starter-netflix-eureka-server
spring cloud discovery

使用@EnableEurekaServer

@SpringBootApplication
// 开启 eureka server 功能
@EnableEurekaServer
public class EurekaApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
    }

}

配置文件:

spring:
  application:
    # 给当前服务取名字
    name: eureka

server:
  port: 1111

# 两层身份 : 1.注册中心  2.普通服务,,,, 即当前服务会 自己把自己注册进来
eureka:
  client:
    # 当前项目  不注册自己
    register-with-eureka: false

    # 是否从 eureka server 上获取注册信息
    fetch-registry: false

在这里插入图片描述
端口: 一个后台管理的端口,,一个通讯的端口
在这里插入图片描述

Eureka集群

服务注册中心的稳定 非常重要,需要集群
实际开发中Eureka都是以集群的形式出现的

修改hosts 文件 C:\Windows\System32\drivers\etc
在这里插入图片描述

Eureka集群 : 就是启动多个 Eureka实例,,相互注册,,相互同步数据,共同组成一个Eureka集群

Eureka Server作用

  1. 服务注册 : 所有的服务都注册到 Eureka server中,,Eureka client向 Eureka server 注册的时候,需要提供自身的一些元数据信息(ip地址,端口,名称,运行状态等)
  2. 提供注册表 : Eureka client 在调用服务时,需要获取这个注册表,,一般来说,这个注册表会缓存下来,如果缓存失效,会直接获取新的注册表
  3. 同步状态 :通过注册,心跳等机制,,和Eureka Server 同步客户端状态

Eureka Client作用

  • 获取注册表信息: eureka client会自动 拉取,更新以及缓存 Eureka server 的信息,,这样即使 Eureka Server 宕机,,Eureka client 依然能够获取到想要调用服务的地址(地址可能不准确),这个注册表会定期更新

    # 是否允许获取注册表信息
    eureka.client.fetch-registry=true
    
    # 定期更新注册表  时间,,默认30s
    eureka.client.registry-fetch-interval-seconds=30
    
  • 服务续约: Eureka client 每隔 30s 会向 Eureka Server 发送一条心跳消息,,来告诉Eureka server,我还在运行,,,如果Eureka Server 连续 90s 都没有收到 Eureka client 的续约消息,,认为这个Eureka client 已经掉线,,会将 eureka client 将服务注册列表中剔除

  • 服务下线: 当Eureka client 下线时,,他会主动发送一条消息,告诉Eureka server

自我保护机制: 防止误杀,,,当Eureka 捕获到大量的心跳失败的时候,则认为可能是网络问题,,进入自我保护机制,,当客户端心跳恢复正常的时候,会自动退出自我保护机制

配置: application-a.yml

spring:
  application:
    # 给当前服务取名字
    name: eureka

server:
  port: 1111


# 两层身份 : 1.注册中心  2.普通服务,,,, 即当前服务会 自己把自己注册进来
eureka:
  client:
    # 当前项目  不注册自己
    register-with-eureka: true

    # 是否从 eureka server 上获取注册信息
    fetch-registry: true
    service-url:
      defaultZone: http://eurekaB:1112/eureka
  instance:
    # 给服务取个别名,,注册到Eureka
    hostname: eurekaA

application-b.yml

spring:
  application:
    # 给当前服务取名字
    name: eureka

server:
  port: 1112

# 两层身份 : 1.注册中心  2.普通服务,,,, 即当前服务会 自己把自己注册进来
eureka:
  client:
    # 当前项目  不注册自己
    register-with-eureka: true
    # 是否从 eureka server 上获取注册信息
    fetch-registry: true
    service-url:
      defaultZone: http://eurekaA:1111/eureka

  instance:
    hostname: eurekaB

打包 java -jar xxx.jar --spring.profiles.active=a

Eureka集群:

在这里插入图片描述
通过replicate 进行数据同步
不同的Eureka server ,,不区分 主从节点,,所有的节点都是平等的,,通过指定 service 的url 进行相互注册,,
如果有某一个节点宕机,,Eureka client 会自动切换到 新的Eureka server 上

Eureka server 的连接方式 可以是单线的 a-->b--->c,a连接b,b连接c,,a和c之间不用直接连,,但是一般不建议这种写法,一旦b宕机,a和c就不能同步,,,在配置时,可以配置多个注册地址,用,分开

Eureka分区:

  1. region :地理上的不同区域
  2. zone : 具体的机房
    在同一个分区里面的 client 和 同一个分区里面的 server 会优先进行 心跳同步

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

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

相关文章

刷爆力扣之非递减序列

刷爆力扣之非递减序列 HELLO,各位看官大大好,我是阿呆 🙈🙈🙈 今天阿呆继续记录下力扣刷题过程,收录在专栏算法中 😜😜😜 该专栏按照不同类别标签进行刷题,…

电磁场几何和衍射理论的统一

在物理光学中,我们使用麦克斯韦方程组处理电磁场。为了快速求解该方程组,我们将不同的麦克斯韦算子结合在一个非序列场追迹概念中。进一步的,快速物理光学概念的支柱是:(1)尽可能在k域求解麦克斯韦方程组。…

深入理解Linux网络技术内幕(十一)——帧的传输

文章目录前言传输的开启和关闭设备调度以准备传输队列规则接口qdisc_restart函数dev_queue_xmit函数有队列设备无队列设备处理NET_TX_SOFTIRQ: net_tx_action看门狗定时器前言 “传输”这一术语用于离开系统的帧,也许是因为被系统传送出去,或者是因为被…

火山引擎 DataTester:如何用 A/B 测试做产品增长?

技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 随着如今越来越高的获客成本,用户拉新变得不再容易;而且由于获客成本的增高,让用户留存也变得更加重要。同时,一个产品的…

【C++】list的模拟实现+迭代器的设计思维

目录1.认识STL中的list2.迭代器的设计思维2.1 迭代器的定义2.2 迭代器的底层结构3.list的模拟实现3.1 list的节点3.2 list的迭代器3.3 list类4.list和vector的比较1.认识STL中的list 💨相比于vector简单的连续线性结构,list就稍显复杂了。 💨…

用细节问题撬动自我进化:首届雪浪算力开发者大赛来了!

12月2日,首届【雪浪算力开发者大赛】在无锡雪浪小镇正式揭幕,并由此开启了新一轮智能制造新生力量的博弈。本次大赛不仅将工业界开发者与创新企业置于聚光灯下,也是雪浪算力中心向社会公众展示其强大计算能力与支撑能力的震撼大秀。 在疫情威…

【关于Spring MVC框架中的@RequestBody】

关于Spring MVC框架中的RequestBody 在Spring MVC框架中,可以在POJO类型的请求参数前添加RequestBody。 当服务器端接收请求参数时,使用了RequestBody注解,客户端提交的请求参数必须是对象格式的! 如果客户端提交的请求参数不是…

Vue中使用vue-video-player插件播放本地mp4视频文件

场景 若依前后端分离版手把手教你本地搭建环境并运行项目: 若依前后端分离版手把手教你本地搭建环境并运行项目_霸道流氓气质的博客-CSDN博客_前后端分离项目本地运行 在上面搭建项目的基础上,先实现了播放rtmp视频流 Vue中使用vue-video-player和vi…

Unity Animancer插件(一)基本使用

Animancer是什么?资源商店主页 一、快速播放 我们来通过Animancer实现一个最基本的动画播放效果。 首先创建一个脚本PlayAnimationOnEnable,编写如下代码 public AnimancerComponent animancer; public AnimationClip clip;private void OnEnable() …

pinia 持久化存储

pinia刷新数据持久化解决方案 无论是使用vuex 还是pinia都会面临一个问题:页面刷新,状态数据丢失的问题; 为了解决数据状态持久化问题,可以考虑使用插件 pinia-plugin-persistedstate 目录 安装pinia 并引入使用 npm install pin…

CCES软件如何来对ADI的SHARC DSP进行Flash的编程和烧写

如何做 Flash 烧写并实现脱机运行,其实我在之前的文章里有讲过,就可以用 Visual DSP来做,鼠标 点几下,非常简单。但是很多客户用的是 21569、21565这一类的SHARC DSP,不能再用 VDSP 来做烧写了,所以我想了 …

留学Essay写作怎么积累更多词汇量?

大部分留学生们都会感觉Essay挺难写作的,然而这其实是自身平时积累的不够多。当然,还有其他的正确方法!高分的Essay都是平时练习出来的,所以我们需要在平时多注意收集一些相关的写作知识。下面是一些常用的Essay写作词汇&#xff…

5 年经验年薪百万,一位阿里 P8 分享自己的成长干货

今天这篇文章,我前后读了 3 遍,主人公是阿里最年轻的 P8 之一,工作五年连升三级,他在一次采访中分享了自己的成长经历和职场心得,非常接地气,我们整理了 一下,真诚地推荐给每一个渴望成长和进步…

基于主成分分析的支持向量机入侵检测系统

基于主成分分析的支持向量机入侵检测系统学习目标:学习内容:A. 数据集分析B. 主成分分析 (PCA)--降维C. 支持向量机 (SVM)核函数数据集预处理--转换数据集预处理 --特征缩放算法过程核函数对比总结不足参考论文申明: 未经许可,禁止…

ESB产品Oracle数据库升级说明

ESB企业服务总线平台作为支撑企业综合集成的产品,在应用集成、数据集成、数据治理等解决方案都发挥着非常重要的作用。随着产品和解决方案的不断优化和升级,ESB企业服务总线平台功能需要逐步进行完善,不断提升产品功能的完备性、易用性和全面…

Github最新霸榜,Alibaba架构师手写的分布式系统核心原理手册

前言: 分布式的重要性就不需要我再强调了吧,它现在已经是大厂面试的“常驻嘉宾”了 前几天有粉丝在后台跟我吐槽:鑫哥,我觉得现在的风气真的变了,之前只觉得网上的情况是个例,结果自己就遇到了很多次&…

东方甄选、交个朋友迎头而上,云集不进则退

配图来自Canva可画 社交电商、会员电商、精选电商,多个定位描绘出云集的“求变史”。 2015年前后,社交电商概念崛起,拼多多靠“砍一刀”、“拼团”快速成长,云集也学着借助社交平台微信的传播途径,通过社交互动、用户…

【论文笔记】DEEP FEATURE SELECTION-AND-FUSION FOR RGB-D SEMANTIC SEGMENTATION

论文 题目:DEEP FEATURE SELECTION-AND-FUSION FOR RGB-D SEMANTIC SEGMENTATION 收录于:ICME 2021 论文:Deep Feature Selection-And-Fusion for RGB-D Semantic Segmentation | IEEE Conference Publication | IEEE Xplore [2105.04102]…

[附源码]Python计算机毕业设计Django学生宿舍维修管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

仿QQ音乐(HTML+CSS)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…