【发布时间】:2020-01-18 22:13:33
【问题描述】:
我有一个带有多个 API 版本的 REST API。每个 API 后端由多个微服务组成。可以公平地假设只有最新的 REST API 资源/代码的流失率最高。由于功能向后移植(很少)或错误修复(大部分),旧版本会出现流失。我想获得关于哪种 DevOps 模式最适合这种情况的建议 - 假设我们正在使用 Kubernetes 对我们的服务网格进行建模。
请注意,我们的 API 大多是异步的,因此可以在同一个代码库中支持多个 API 版本(打包在一个容器中)。
鉴于以上情况,这些配置都是可能的
- 每个 API 版本的服务 yaml。
- 具有多个 pod 模板(每个 API 版本一个)的单一服务 yaml。
- Functional Service yamls - 一个用于前端和其他每个微服务(用于消息代理、处理工作人员等的 POD)。
需要思考的其他要点:
- 是否建议将部署部署到单独的集群或同一集群(对于 API 版本)。如果是,这是否会影响特定 API 版本的更新?
我正在根据您之前的经验寻找任何规定的模式或建议。
【问题讨论】:
标签: rest kubernetes devops