背景

微服务架构,为了保证所有服务可用,当服务发生问题时能及时摘除有问题的服务需要定期检测服务可用性,即健康检查。通常健康健康检查包括TCP与HTTP两种。即定时发送TCP或HTTP请求,根据响应来确定服务是否可用。

Http健康检查

一般通过TCP定期请求来判定网络层是否正常,而通过Http请求判断应用层是否正常。

Http健康检查检查通常涉及如下几个方面

检测接口

服务要配置好请求接口,检测服务定期向指定的接口发送http请求,并根据接口响应码和响应时间判断。这个响应时间一般根据业务特性来配置。

检测周期

发起检测时每隔一定周期就需要检测一次。可以是几百毫秒或几秒,实际情况根据业务来确定。当连续几个周期内响应异常,那么尝试标记节点状态为异常,并临时摘除。当后续检测正常后再加入的可用节点集合中。

超时时间

为接口设定一个超时时间,每个周期检测时超过这个时间说明有异常。

状态码

实际检测过程过关心的是节点是否可用,因此关注的是响应状态,具体响应内容并不关心。可以通过Http响应码来判断状态。对于Http检测接口来说2xx和3xx可视为检查正常。其它状态码认为节点异常。

异常情况

当出现Http连接异常等问题,那么就直接可断定节点不可用。

总结

通过Http健康检查保证及时发现应用层问题,及时摘除异常节点,保证服务正常运行。

微服务Http健康检查相关推荐

  1. Nacos 服务端健康检查及客户端服务订阅机制源码分析(三)

    Nacos 服务端健康检查 长连接 概念:长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发送链路检测包 注册中心客户端 2.0 以后使用 gRPC 代替 h ...

  2. 【开发规范】go项目开发中的[流程,git,代码,目录,微服务仓库管理,静态检查]

    文章目录 前言 一.有哪些规范我们应该遵循 二.项目开发流程 三.git的代码分支管理 1. 分支管理 2. commit规范 三.go的代码规范 四.go项目目录规范 五.微服务该采用multi-r ...

  3. Game On Serverless:SAE 助力广州小迈提升微服务研发效能

    作者:洛浩 小迈于 2015 年 1 月成立,是一家致力以数字化领先为优势,实现业务高质量自增长的移动互联网科技公司.始终坚持以用户价值为中心,以数据为驱动,为用户开发丰富的工具应用.休闲游戏.益智. ...

  4. 微服务并不能修复你破碎的组织文化

    我们常常关注技术中的设计模式,而忽略了我们社会结构中也存在类似的模式.通过审视我们与别人的沟通,可以找到许多技术性问题的解决方案.让我们来谈谈当你和讨厌的人类沟通时,你需要知道的五件事. 1. 技术并 ...

  5. 微服务理论与实践[1]-什么是微服务

    微服务理论与实践[1]-什么是微服务 什么是微服务 微服务 (Microservices) 是一种软件架构风格,将应用程序构造为围绕业务的小型自治服务的集合 微服务以专注于单一责任与功能的小型功能区块 ...

  6. 支撑日均百万订单的微服务架构应该这么搞

    最近几年微服务很火,大家都在建设微服务,如果不懂点微服务相关的技术,都不好意思跟同行打招呼了. 我也见过身边很多人在微服务踩过很多坑,我从 2016 年开始接触微服务,有多家大型企业的微服务分布式系统 ...

  7. 89-Spring Cloud 微服务详解

    Spring Cloud 微服务详解 微服务架构: 在说明该架构之前,再次的说明互联网应用架构演进(虽然之前说明过了) 随着互联网的发展,用户群体逐渐扩大,网站的流量成倍增长,常规的单体架构已无法满足 ...

  8. Spring Cloud 微服务讲义

    Spring Cloud 微服务讲义 第一部分 微服务架构 第 1 节 互联网应用架构演进 第 2 节 微服务架构体现的思想及优缺点 第 3 节 微服务架构中的核心概念 第二部分 Spring Clo ...

  9. Node.js + Consul 实现服务注册、健康检查、配置中心

    Node.js + Consul 实现服务注册.健康检查.配置中心 在这篇文章中: 初始化 Consul 客户端 服务注册与健康检查 配置Consul管理控制台 服务配置中心实现 在Nodejs中进行 ...

  10. consul 服务健康检查

    文章目录 简介 check方法 Script check(Script+ Interval) 基于HTTP请求 基于tcp请求 基于grpc请求 Docker 简介 服务注册 - 服务进程在注册中心注 ...

最新文章

  1. Waymo正式向真正“无人车”迈进,申请DMV远程监控许可证
  2. Appium入门实例(Java)
  3. ZooKeeper Recipes and Solutions
  4. CSS中display:block、inline、inline-block
  5. html两方框重叠透明,html – 边缘浏览器向透明div添加重叠的“边缘”
  6. javadoc 开源项目_在下一个项目中不使用JavaDoc的5大原因
  7. loadView加载(变换成ScrollView)
  8. HTTP协议入门——1.1版本
  9. CSS 分组 和 嵌套 选择器
  10. windows 传输目录文件到linux pscp: xxx: not a regular file
  11. 再谈KMP/BM算法(II)
  12. 2020强网杯青少赛Pursuing_The_Wind战队WRITEUP
  13. vim/nvim键盘映射
  14. Navicat12.0 激活
  15. 更改VS主题及设置背景图片
  16. linux中竖线'|',双竖线‘||’,和的意思
  17. FairGuard游戏加固兼容摸摸鱼和TAPTAP云玩
  18. FP-Tree算法的实现
  19. Elasticsearch 7.X 性能优化
  20. 算法篇-2-分治思想-棋盘覆盖归并排序Strasssen矩阵乘法循环赛安排

热门文章

  1. Idea之配置GitLab ssh key
  2. php中的单引号和双引号
  3. Root手机后有什么好处吗?我应该如何Root自己的手机?
  4. 网络安全-解密WinRAR捆绑恶意程序并自动上线MSF的原理
  5. itext设置字体间距_设计时sketch中字体行高到底该如何设置
  6. php为图片平铺文字水印
  7. 国际物流、快递、空运、海运、FBA头程、专线分别都有什么不同
  8. 新库上线 | CnOpenData制造业工商注册企业基础信息数据
  9. java mvc demo_SpringMvcDemo 一个简单的 mvc 的 实现例子 Java Develop 259万源代码下载- www.pudn.com...
  10. 开机加速与蓝屏stop:0x000000074