有状态负载和 Deployment 负载
区别 | Deployment 负载 | 有状态负载 |
---|---|---|
公网 | 配合负载均衡提供公网服务 | 支持绑定公网 IP |
挂载数据盘 | 不支持 | 支持挂载数据盘及数据盘快照 |
副本 | 多副本,支持弹性伸缩 | 单副本 |
更改规格 | 支持 | 支持 |
更新镜像版本 | 支持 | 暂不支持 |
保存镜像 | 支持 | 支持 |
高可用 | 轻松实现 | 较难实现 |
Note
Deployment 负载不会在本地存储需要持久化的数据,因为某些原因需要停止或重新创建(如扩容等)时实例内数据都将丢失(日志服务和性能监控数据将保留)。
Q01: 什么情况下选择有状态负载?
A:
- 虚拟机用户,希望尽快部署应用,快速入门;
- 需要频繁 SSH 容器进行操作;
- 数据需要持久化存储(如数据库应用等),但建议使用高可用的数据库解决方案。
Q02:什么情况下选择 Deployment 负载?
A:
- 无状态的 Web 应用(配合 RDS、Redis、MongoDB 等高可用服务);
- 需要灵活水平扩展,以应对业务量的骤然变化的;
- 服务高可用要求;
- 解耦应用,实践微服务的最佳选择。
Q03:从有状态负载到 Deployment 负载?
A:
- 使用网易云数据库(RDS,MongoDB),缓存服务(Redis)等高可用解决方案;
- 通过带健康检查的负载均衡提供公网服务,分流和转发外部流量,保障服务高可用;
- 开启日志服务集中收集分析日志。