微服务开发:从健康检查到伞形项目搭建
1. 微服务健康检查
在微服务开发中,为了管理应用部署到的容器的生命周期,大多数容器管理解决方案(如 Kubernetes)需要服务暴露健康检查端点。对于 Kubernetes,通常需要提供存活探针(liveness)和就绪探针(readiness)端点。
我们将使用草案 RFC 和 Node.js 实现来创建健康检查端点。以下是具体操作步骤:
1. 替换 appConfig.js
文件中第 13 - 17 行的代码:
// For Liveness Probe, defaults may be all you need.
const livenessCheck = healthcheck({"path" : "/ping"});
app.use(livenessCheck.express());
// For readiness check, let's also test the DB
const check = healthcheck();
const AdvancedHealthcheckers = require('healthchecks-advanced');
const advCheckers = new AdvancedHealthcheckers();
// Database health check is cached for 10000ms = 10 seconds!
check.addCheck('db', 'dbQuery', advCheckers.dbCheck,
{minCacheMs: 1000