【发布时间】:2017-09-21 22:05:07
【问题描述】:
假设我有 100 个 API,每个 api 与 6 个数据库通信。我正在考虑两种构建状态端点的方法。消费者不需要访问全部 100 个 api 来执行他们的业务需求,他们可以根据需要访问 1 或 2 个 api。
1) 每个 api 都有自己的 /status 端点,该端点将检查与它使用的所有 6 个数据库的连接性,如果一个失败,它将返回不健康的,否则会返回健康的。在这种情况下,api 使用者仅访问他们使用的状态端点。在这种情况下,曾经使用过特定 api 的人将访问其 /status 端点以检查运行状况。
2) 在这种情况下,消费者仅访问 1 个端点,该端点包含所有 100 个 api 的状态,基于 6 个数据库中的任何一个是否已关闭并且它自己的 api 是否已关闭,因此如果 api 已启动且数据库is down 表示该特定 api 的状态不正常,如果数据库已启动且 api 已启动,则 api 已启动且健康,如果需要,消费者可以从该单个端点获取单个状态或所有 api 的状态。每个 api 都有自己的内部 /status 端点,无论它依赖的 6 个数据库的状态如何,它都会返回健康状态。我将为所有 6 个数据库添加 6 个不同的状态端点,它会检查连接并在连接不健康时返回健康。
这两种方法中最好的方法是什么?
非常感谢您的所有意见。
【问题讨论】:
标签: microservices