我知道 Apigee 提供了几个开箱即用的 API 来进行部署和查询各种信息。是否有一个轻量级的开箱即用 API 可以提供给我们的客户来验证 APIgee 平台是否仍然存在并运行?这将阻止他们在系统无法处理时向我们发送 API 流量。
3 回答
以下可能是一个很好的部分解决方案,但这实际上取决于您打算如何公开此信息、您的监控服务器在架构中的位置以及您必须处理/报告状态的设施。那就是说...
根据您定义为“轻量级”的内容,OPDK 安装可以选择 CURL,具体如下:
http://{management-server-ip}:8080/v1/servers
要检查状态,有一个名为IsUp (Boolean) 的字段。要获得更具体的信息,您可以使用查询参数类型,以便获取特定组件。有效值为:
http://{management-server-ip}:8080/v1/servers/?type=app-datastore
http://{management-server-ip}:8080/v1/servers/?type=kms-datastore
http://{management-server-ip}:8080/v1/servers/?type=message-processor
http://{management-server-ip}:8080/v1/servers/?type=router
由于组件资源的性质,我不相信这在云上是可能的。
许多客户所做的是创建一个“健康检查”API 代理。
这可以只是一个 Echo 服务器,您可以通过构建无目标的 API 代理轻松创建它。
在New API Proxy工具中,选择(o) No Target。就是这样。
然后,您传递给该代理的任何数据都将在响应中返回。
例如: $ curl http://{your-org}-{env}.apigee.net/v1/healthcheck -d "Hello"
你好
如果您尝试确定 Apigee 是否能够为您自己的 API 提供服务,那么手动创建一个 ping API 调用可能是有意义的。您可能需要几种不同的风格——一种在 Apigee 内立即转身并做出响应(测试与 Apigee 层的连接性),另一种对后端服务器执行 ping 操作(测试端到端连接性)。开箱即用的任何东西都无法ping通您的后端。