知识卡片
Knative三大组件的职责划分
内容
Knative作为一个通用的Serverless框架标准,把”从代码到线上服务”这条链路拆成三个独立组件:Tekton 负责构建(从代码仓库拉源码、编译成镜像、推送到镜像仓库),Eventing负责事件(外部事件源接入、 注册、订阅、过滤,解耦事件生产者和消费者),Serving负责工作负载管理(请求驱动的自动伸缩,包括 缩容到零,以及灰度发布)。这个划分对应的正是CNCF FaaS模型里Event Sources(事件来源)、Function Instance(函数实例)、 FaaS Controller(部署与调度控制器)这几个抽象角色在开源实现里的具体落地。发散:把”构建”和”运行时伸缩” 拆成两个互不耦合的组件是一个值得注意的设计——构建是一次性、可缓存的过程,伸缩是持续、按需的过程, 两者的失败模式和优化方向完全不同,合在一起会让系统难以独立演进。
参考来源
《Serverless工程实践:从入门到进阶》第5章《从零搭建FaaS平台》