- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个我控制的 API A 和 B,并且都进行了就绪性和 liveness 健康检查。 A 依赖于 B。
A
/foo - This endpoint makes a call to /bar in B
/status/live
/status/ready
B
/bar
/status/live
/status/ready
最佳答案
如果服务 A 可以服务于业务请求,则它已准备就绪。因此,如果能够到达 B 是它需要做的一部分(看起来确实如此),那么它应该检查 B。
让 A 检查 B 的一个好处是您可以 fail fast on a bad rolling upgrade .假设您的 A 配置错误,因此升级为 B 提供了错误的连接详细信息 - 可能 B 的服务名称作为环境变量注入(inject),并且新版本有错字。如果您的 A 实例在启动时检查到 Bs,那么您可以更轻松地确保升级失败并且没有流量流向新配置错误的 Pod。有关更多信息,请参阅 https://medium.com/spire-labs/utilizing-kubernetes-liveness-and-readiness-probes-to-automatically-recover-from-failure-2fe0314f2b2e
A 检查 B 的事件端点或任何最小可用性端点而不是 B 的就绪端点通常就足够了。这是因为 Kubernetes 将是 checking B's readiness probe for you anyway因此,A 可以到达的任何 B 实例都将是一个就绪实例。如果 B 的 readiness endpoint performs more checks than the liveness one 调用 B 的事件端点而不是准备状态,则可能会有所不同。 .请记住,kubernetes 会定期调用这些探测器 - readiness as well as liveness - they both have a period .区别在于 Pod 是退出服务流量(如果准备失败)还是重新启动(如果事件失败)。你不想做end-to-end transaction checks ,您希望这些检查包含最少的逻辑并且不会消耗过多的负载。
如果 A 的 readiness 实现中的代码进行检查而不是在 k8s 级别(在 Pod 规范本身中)进行检查,则更可取。最好在 k8s 级别执行此操作,因为理想情况下您想知道在容器中运行的代码确实可以连接。
检查依赖服务的另一种方法可用is with a check in an initContainer .使用 initContainers 可以避免在启动期间看到多次重启(通过确保正确的顺序),但是通过探针对依赖项进行检查可以更深入(如果在应用程序的代码中实现)并且探针将在启动后继续定期运行。因此,两者都使用可能是有利的。
小心检查其他服务是否准备就绪,因为它可能导致级联不可用。例如,如果一个后端短暂地出现故障并且前端正在对其进行探测,那么前端也将变得不可用,因此将无法显示良好的错误消息。您可能希望从简单的探测开始,然后小心地增加复杂性。
关于url - 健康检查是否应该调用其他应用健康检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53873153/
我在某处读到有一个 guiding principle将表中的行数限制在 100 万以下。我想知道这是不是真的。对于我拥有的一个项目,我将大致拥有分别包含 10,000 行、40,000 行、160,
我是一个相当新的程序员和经验丰富的运行者,一直在研究 Garmin Health API 并计划制作一个应用程序。我的第一个想法是在完成 10x400 米之后简单地获得平均时间,这是我几乎每个月都会做
for ($i=1; $i query("UPDATE `jpa` SET `war` = $b WHERE `id` = $a"); $mysqli->query("UPDATE `
我使用 Samsung S Health SDK 开发了我的应用程序。我想在我的应用程序中添加 S 健康的步行、运行和骑自行车跟踪。 如何添加这些功能? 最佳答案 我在 readTodayWalkin
到目前为止,我知道 EOF 是一个特殊字符,自动插入到文本文件的末尾以指示其结束。但我现在觉得需要对此进行更多澄清。我在 Google 和 Wikipedia 页面上查看了 EOF,但他们无法回答以下
假设我选择了一个随机来源,例如 CNN。根据关键字自动将抓取的文章分类,或者针对不同的类别抓取网站的各个部分,例如 cnn.com/tech 或/entertainment,这样会更有利吗?第二个选项
我在我的 Spring Boot + Spring Cloud 项目中使用 ConfigServer。我曾经监控端点/health,但由于 ConfigClient 在每个请求中询问 ConfigSe
对 projectname.appspot.com/_ah/health 的请求返回以下错误 { "code": 5, "message": "Method does not exist.",
我想检查我的服务的健康状况,了解每个端点的指标。我的服务调用其他一些服务并接收 Json 代码,我用它制作模板,然后将它发送到 http.ResponseWriter。 我搜索并找到了这个包“gocr
我在 javascript (React.j) 中编写了以下使用 for 循环的函数: getOpponentTeam: function(playerTeamId){ var matches =
我是 codeigniter 的新手,我想通过传递许多条件来选择用户的详细信息。我通过了一些条件,例如: $this->db->where ( 'userprofile.Disability', $
我有一个在 pm2 上运行的 nodejs 应用程序,我需要能够在发生崩溃/重启时发送电子邮件通知。我的想法是监视应用程序的崩溃并从 pm2-health 触发邮件操作。 pm2-health 模块的
我正在尝试使用 Jsoup 库(版本 1.11.3)读取域 - iv4u.health 的 URL 正文,但出现“重定向过多”错误。下面是我正在使用的代码 - public class Example
我是一名优秀的程序员,十分优秀!