从头开发一个 Serverless 引擎并不是一件容易的事情,今天咱们就从 Knative 的健康检查说起。通过健康检查这一个点来看看 Serverless 模式和传统的模式都有哪些不同以及 Knative 针对 Serverless 场景都做了什么思考。
Knative Serving 模块的核心原理如下图所示。下图中的 Route 可以理解成是 Istio Gateway 的角色。
- 当缩容到零时进来的流量就会指到 Activator 上面
- 当 Pod 数不为零时流量就会指到对应的 Pod 上面,此时流量不经过 Activator
- 其中 Autoscaler 模块根据请求的 Metrics 信息实时动态的扩缩容
关于这部分的详细介绍可以参见 https://yq.aliyun.com/articles/702969 这篇文章。
Knativ