RPC-健康检测机制

ops/2024/11/18 9:58:00/

什么是健康检测?

在真实环境中服务提供方是以一个集群的方式提供服务,这对于服务调用方来说,就是一个接口会有多个服务提供方同时提供服务,调用方在每次发起请求的时候都可以拿到一个可用的连接。

健康检测,能帮助从连接列表里面过滤掉一些存在问题的节点,避免在发请求的时候选择出有问题的节点而影响业务。

终极解决方案是让调用方实时感知到节点的状态变化

健康检测的逻辑

服务调用方每隔一段时间就问一下服务提供方,“兄弟,你还好吧?”,然后服务提供方很诚实地告诉调用方它目前的状态。

服务器健康三个状态:

  1. 健康状态:建立连接成功,并且心跳探活也一直成功;
  2. 亚健康状态:建立连接成功,但是心跳请求连续失败;
  3. 死亡状态:建立连接失败。

节点的状态并不是固定不变的,它会根据心跳或者重连的结果来动态变化,具体状态间转换图如下:

image-20241105224936086

可用率:计算方式是某一个时间窗口内接口调用成功次数的百分比(成功次数/总调用次数)。

当可用率低于某个比例就认为这个节点存在问题,把它挪到亚健康列表,这样既考虑了高低频的调用接口,也兼顾了接口响应时间不同的问题。

应用僵死(TCP连接健康,端口正常),让每个应用实例提供一个“健康检测URL检测程序定时访问该URL,然后根据响应结果来进行存活判断,这样可以防止僵死状态的误判。

但是检测程序如果与目标机器之间存在网络问题,就可能存在误判几率,实际目标机器是正常的,但是因为网络原因产生误判。

有一个办法可以减少误判的几率,那就是把检测程序部署在多个机器,分布在不同的机架,甚至不同的机房。这样网络同时故障的概率非常低,只要任意一个检测程序实例访问目标机器正常,就可以说明该目标机器正常。


http://www.ppmy.cn/ops/134673.html

相关文章

大数据CDP集群中ImpalaHive常见使用语法

1. SQL中设置常量 set var:pi_sysdate 20241114; Variable PI_SYSDATE set to 202411142. CDP中impala 创建内外表 #hive3.0 默认不创建事务表的配置参数 set default_transactional_typenone; create external table stg.hd_aml_mac_ip_ext (machinedate string,vc_fundacc…

求矩阵中最小元素及其位置

#include<stdio.h> int main() {int arr[3][3];for(int i0;i<3;i)//录入行{for(int j0;j<3;j)//录入列{scanf("%d",&arr[i][j]);}}int h,l;//定义行 列int minarr[0][0];//将二维数组首个元素定义为最小for(int i0;i<3;i)//遍历二维数组找到最小…

无人机+无人车+机器狗:城市巷战突破技术详解

在城市巷战中&#xff0c;无人机、无人车和机器狗的组合可以形成一种全新的战场突破技术&#xff0c;这种组合能够大幅提升作战效率&#xff0c;减少人员伤亡。以下是对这一技术的详细解析&#xff1a; 一、无人机的作用 1.空中侦察&#xff1a;无人机能够提供高空视角&#x…

vue3 查看word pdf excel文件

也是在网上找的基础上修改的 可以直接使用 npm install vue-office/docx npm install vue-office/excel npm install vue-office/pdf​<template><divclass"Office-Preview"v-loading"loading"element-loading-text"文件加载中...">…

2024.11|云计算行业的商业模式创新方法及实践

截至2024年&#xff0c;全球云计算行业已迈入一个全新的发展阶段。从基础设施即服务&#xff08;IaaS&#xff09;到基于人工智能的大规模模型平台&#xff0c;云计算技术的演变不仅改变了技术的内涵&#xff0c;也重新定义了商业模式。本文通过对全球最新技术进展的系统性分析…

ARM 汇编指令

blr指令的基本概念和用途 在 ARM64 汇编中&#xff0c;blr是 “Branch with Link to Register” 的缩写。它是一种分支指令&#xff0c;主要用于跳转到一个由寄存器指定的地址&#xff0c;并将返回地址保存到链接寄存器&#xff08;Link Register&#xff0c;LR&#xff09;中。…

2020 年 12 月青少年软编等考 C 语言三级真题解析

目录 T1. 完美立方思路分析 T2. 不定方程求解思路分析 T3. 分解因数思路分析 T4. 上台阶思路分析 T5. 田忌赛马思路分析 T1. 完美立方 形如 a 3 b 3 c 3 d 3 a^3 b^3 c^3 d^3 a3b3c3d3 的等式被称为完美立方等式。例如 1 2 3 6 3 8 3 1 0 3 12^3 6^3 8^3 10^3 1…

Java复习41(PTA)

jmu-Java-m06 根据姓名以及电话号码查找联系人 分数 20 全屏浏览 切换布局 作者 郑如滨 单位 集美大学 该程序包含&#xff1a; Person类: 属性&#xff1a;int id, String name, String phoneNumber&#xff0c;String address。 方法&#xff1a; 无参构造方法&#…