【微服务笔记02】微服务组件之Eureka常见的几个配置属性及其常见的几个概念

news2024/9/26 3:19:46

这篇文章,主要介绍微服务组件中Eureka常见的几个配置属性及其常见的几个概念【源代码地址】。

目录

一、Eureka常见配置属性

1.1、instance配置项

1.2、client配置项

1.3、server配置项

二、eureka常见概念

2.1、服务注册

2.2、服务发现

2.3、服务续约

2.4、服务剔除

2.5、自我保护机制


一、Eureka常见配置属性

这篇文章,主要介绍以下Eureka注册中心中常见的一些配置属性及其含义,Eureka注册中心大致可以分为三部分的配置属性,分别是:instance、client、server三部分,下面分别介绍三部分的配置属性。

1.1、instance配置项

instance中文意思是:实例,也就是说instance是对当前eureka实例的相关信息进行配置的,在eureka中会有一个【EurekaInstanceConfigBean】类专门用于记录instance相关的配置项信息,如下所示:

介绍其中几个常见的配置项:

# eureka配置
eureka:
  instance:
    # 当前实例的主机名称
    hostname: localhost
    # 实例的唯一ID
    instance-id: id-20221331
    # 注册到注册中心服务器上的应用名称
    appname: demo-client-name
    # 初始状态下,注册到eureka服务器上的状态,默认就是UP
    initial-status: up
    # 设置实例的IP地址
    ip-address: 127.0.0.1
    # 是否采用IP地址的格式显示在eureka服务器上
    prefer-ip-address: true
    # eureka客户端和eureka服务端进行服务续约的时间间隔,默认是30s
    lease-renewal-interval-in-seconds: 30
    # eureka服务端从可用服务列表剔除不可用服务的时间间隔,默认是90s,即:3个心跳检测间隔
    lease-expiration-duration-in-seconds: 90

1.2、client配置项

client配置项是针对eureka客户端的,在eureka源代码中会有一个【EurekaClientConfigBean】类,这个类包含了所有client客户端相关的配置项信息,如下所示。

 client客户端配置项常见的几个属性如下:

# eureka配置
eureka:
  client:
    # 是否将自己注册到eureka注册中心
    register-with-eureka: true
    # 是否从eureka注册中心获取注册信息
    fetch-registry: true
    # eureka服务端对外提供的服务地址
    service-url:
      defaultZone: http://localhost:8761/eureka/ # eureka服务端的地址
    # 是否启用eureka客户端
    enabled: true
    # 是否开启eureka客户端的健康检查机制
    healthcheck:
      enabled: true

1.3、server配置项

server配置项只在eureka服务端才进行配置,并且这些配置项是依赖与【eureka-server】依赖,eureka中会有一个【EurekaServerConfigBean】类,专门用于保存server配置项,如下所示。

server配置项常见的几个属性如下所示:

# eureka配置
eureka:
  server:
    # 是否开启自我保护机制
    enable-self-preservation: true
    # 续约成功的阈值,当续约成功百分比低于85%,此时会自动开启自我保护机制
    renewal-percent-threshold: 0.85
    # 期望eureka客户端续约的时间间隔
    expected-client-renewal-interval-seconds: 30
    # 对于不可用服务间隔多久将其剔除,默认是0s,即:立即剔除
    eviction-interval-timer-in-ms: 2000

二、eureka常见概念

2.1、服务注册

服务注册,是指:当一个微服务应用在启动的时候,会将自身的机器信息发送给eureka服务端,eureka服务端接收到信息之后会将其保存,这个过程叫做:服务注册。

简单来说,就是客户端发送一个请求给eureka服务端,让服务端将客户端的信息给保存起来。

2.2、服务发现

服务发现,是指:在所有微服务都启动之后,此时eureka服务端就已经保存了所有可用微服务的服务列表,当某个微服务需要调用其他微服务的时候,这个微服务只需要从eureka服务端的可用服务列表里面查找对应的微服务即可,这个过程叫做:服务发现。

简单理解,服务发现就是通过eureka服务端找到当前微服务需要调用的另一个微服务的可用服务地址。

2.3、服务续约

服务续约,是指:当某个微服务A在启动之后,它会将自身的信息注册到eureka服务端,那么在之后的运行过程中,eureka服务端需要知道微服务A是否还是可用的。一次服务续约,也可以叫做是一次心跳检测。

如何知道某个微服务是否可用???

  • 要得知某个微服务是否可用,我们可以让客户端和eureka服务端进行一个续约操作,也就是说,eureka服务端需要让eureka客户端每间隔一定的时间就向Eureka服务端发起一个请求,这个请求是告诉eureka服务端,当前这个eureka客户端还活者。
  • 这个【续约的时间间隔】默认是【30】秒,可以通过【lease-renewal-interval-in-seconds】属性自定义设置。

2.4、服务剔除

服务剔除,是指:当某个微服务不可用的时候,Eureka服务端会将那个不可用的微服务从所有的可用服务列表里面给删除掉,删除之后其他的微服务就不能够在进行服务的消费。

Eureka服务端剔除服务的机制:默认情况下,如果Eureka客户端和Eureka服务端超过3次没有进行服务续约,那么此时Eureka服务端就会认为客户端不可用,这个时候就会从可用服务列表剔除这个客户端服务。

  • eureka默认情况下,是指定【90】秒内没有服务续约,就会剔除这个微服务。
  • 也可以通过属性【lease-expiration-duration-in-seconds】自定义设置时间。

2.5、自我保护机制

前面说了,当Eureka服务端超过3个心跳没有进行服务续约,此时Eureka服务端就会将其剔除,但是不可能让你一直剔除,一直剔除那岂不是到最后都灭有可用服务了,所以Eureka设置了一个自我保护机制,这个自我保护机制是为了避免将所有的可用服务剔除。

什么时候会触发自我保护机制???

  • 默认情况下,15分钟内,如果所有客户端的服务续约成功的次数占比低于85%,那么此时eureka服务端会进入自我保护模式。
  • 处于自我保护模式下的eureka,不会再剔除可用服务,但是可以接收其他eureka客户端的服务注册信息。

到此,Eureka相关配置属性及其几个常见的概念术语介绍完啦。

综上,这篇文章结束了,主要介绍微服务组件中Eureka常见的几个配置属性及其常见的几个概念。

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

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

相关文章

CSS常见标签知识回顾

学前端的一点css笔记,参考的是黑马程序员pink老师的教程。 一.行内元素 1.一行可以显示多个 2.宽度核高度默认由内容撑开 3.不可以设置宽高 代表标签: a、span、b、ui、s、strong、ins、em、del 二、行内块元素 1.一行可以显示多个 2.可以设置宽高…

回顾2022年总结

文章目录前言这一年感悟感想成绩新的一年期许前言 2022过的好快,接着我对自己这一年的所做的事情来进行一个汇总和感悟感想总结! 所有博客文件目录索引:博客目录索引(持续更新) 这一年 月份做了什么事1转本备考、Java技术(netty一套课程、…

VisionMaster应用实例——识别锁付孔位

项目背景:相机对法兰盘表面进行拍照,获取法兰盘上16个孔位的位置,通过VisionMaster进行TCP通信,将位置信息发送给机械臂,对这16孔位的螺丝进行拧紧,同时需要根据十字锁付的特点。 思路分析: 1.方…

[oeasy]python0036_牛说_cowsay_小动物说话_asciiart_figlet_lolcat_管道(祝大家新年快乐~)

牛说(cowsay) 回忆上次内容 上次我们研究了shell脚本的编程 并且在shell中实现了 循环语句延迟命令清屏命令python命令figlet命令还能整点什么呢?🤔还想要让小动物报时 cowsay 首先要安装 cowsay sudo apt install cowsay 装完之后 cow 就可以 say 了…

人工智能-逻辑回归

1,逻辑回归介绍 逻辑回归:分类模型 应用场景:广告点击率、是否垃圾邮件 逻辑回归主要用于解决二分类问题 输入: 逻辑回归的输入:线性回归的结果 激活函数:sigmoid函数 回归的结果输入到sigmoid函数中 输…

UE5笔记【十四】漂流者游戏制作【一】地形材质准备

针对游戏的剧情设计:角色流落荒岛,寻找食物和水,等待救援。只有按时找到才能存活。否则游戏失败了。 新建一个第三人称游戏。可以将项目名称命名为《CastAway》 启动Landmass插件 然后启用Water插件。 然后删除场景中不需要的东西。保留荒岛…

DoIP协议从入门到精通——诊断通信

DoIP(Diagnostic on IP)是基于IP(车载通信总线介质)为实现诊断诊断通信搭建通信桥梁的过程。从车辆连接-车辆声明-激活通信,都在前面几篇文章有过分享: 在专栏中可以找到文章! 如下述将DoIP协议内容映射到计算机OSI七层通信模型中,其作用就是将物理层接收到的收据,准…

(十) Docker微服务实战

Docker微服务实战一、IDEA新建一个普通微服务模块二、通过dockerfile发布微服务部署到docker容器2.1、打包模块2.2、编写 Dockerfile以及上传jar包2.3、构建镜像2.4、运行容器一、IDEA新建一个普通微服务模块 建Module docker_boot Pom文件 <?xml version"1.0" e…

2022年技术自媒体经验分享 —— 开始尝试认真做 B站 的一年后的复盘

文章目录前言一、回顾过去1、进驻B站2、进驻知识星球3、做全网最强的算法星球4、付费是道砍二、星球简介1、星主介绍2、星球简介三、星球内容1、九日集训2、付费专栏 - 免费阅读3、每月算法集训4、每日作业5、个人规划6、更优质的朋友圈7、向我提问 - 深思熟虑你的问题8、持续创…

微机原理真题错题整理2018,2019年

目录 2017年 选择 填空题 2018年 选择 填空题 编程题 2017年 选择 1:若一SRAM芯片的容量是10248位&#xff0c;除电源和接地外该芯片的其他引脚最少应为&#xff08;&#xff09; A:23 B:22 C:21 D:20 10242^1010根地址线 8位8根数据线 …

【SV】为什么需要异步复位?同步输入/异步输入、异步复位/同步复位(bad)、异步复位同步释放、同步系统/异步系统

【SV】为什么需要异步复位&#xff1f;同步输入/异步输入、异步复位/同步复位&#xff08;bad&#xff09;、同步系统/异步系统 1. 同步输入/异步输入&#xff08;synchronous and asynchronous inputs in sequential system&#xff09;为什么需要异步复位&#xff1f;1.1 异步…

k8s之基本环境准备

写在前面 本文看下学习k8s需要的基础环境&#xff0c;包括运行环境&#xff0c;docker等。 1&#xff1a;准备linux运行环境 环境&#xff1a;win10 虚拟化工具&#xff1a;VMware-workstation-full-15.1.0 linux&#xff1a;ubuntu-22.04.1-desktop-amd64.iso 。 安装完毕…

6)Django Cookies/Session,中间件,Nginx+uwsgi安装配置

目录 一 Django cookie 与 session Cookies Django 中 Cookie 的语法 Session(保存在服务端的键值对) 工作原理 实例 二 Django中间件 自定义中间件 自定义中间件类的方法 process_request 方法 process_response process_view process_exception 三 Django Nginxu…

【值得收藏】机器学习实战项目汇总(初级、中级、高级)

大家都知道&#xff0c;教科书上所学与实际操作还是有出入的&#xff0c;那关于机器学习有什么好的项目可以实操吗&#xff1f; 这次给大家分享一个涵盖面向初学者&#xff0c;中级专家和专家的23种机器学习项目创意&#xff0c;以获取有关该增长技术的真实经验。这些机器学习…

opencv-python常用函数解析及参数介绍(三)——图像滤波

图像滤波前言1.制作噪声生成椒盐噪声生成高斯噪声2.滤波均值滤波框滤波高斯滤波中值滤波总结前言 很多时候我们能拿到的图片并不是十分干净&#xff0c;有时会有一些噪声&#xff0c;这时我们就应该采用滤波的方式对他进行处理&#xff0c;本文将在一张干净的图片上生成噪声并…

OpenWrt19.07设置mac地址为芯片内置出厂地址

目录7628芯片的mac地址openwrt源码修改验证关联问题随机地址在何处生成mac地址生成时机最近发现所使用的openwrt19.07系统在htlk7628核心板上运行时&#xff0c;一旦恢复出厂设置或者重刷固件后对应的mac地址就会改变&#xff0c;猜测系统生成mac地址方式并非使用了芯片内部的m…

复习篇【类的构造方法与代码块的执行】

复习篇【类的构造方法与代码块的执行】&#x1f34e;一.构造方法&#x1f352;1.1 基本语法&#x1f352;1.2 this关键字&#x1f34e;二.代码块执行&#x1f352;2.1 什么是代码块&#x1f352;2.2 普通代码块&#x1f352;2.3 构造代码块&#x1f352;2.4 静态代码块&#x1…

VBScript (vbs) 脚本实例

欢迎小伙伴的点评✨✨ 文章目录前言一、vbs是什么&#xff1f;二、简单使用VBScript实例2.1、msgbox实例2.2、VBScript 的变量三、VBScript 输出文本及键盘按键到cmd3.1、cmd的FOR循环3.2、cmd的ping指令3.1、VBScript 批量输出到cmd命令代码实例四、总结前言 本文将会给大家带…

(二十九)Vue之回顾本地存储webStorage

文章目录webStorageLocalStoragesessionStorage改造TodoList案例为本地存储Vue学习目录 上一篇&#xff1a;&#xff08;二十八&#xff09;Vue之组件化编码流程 webStorage 使用HTML5可以在本地存储用户的浏览数据。 早些时候,本地存储使用的是 cookie。但是Web 存储需要更…

力扣2. 两数相加

给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数都不会以 0 …