【发布时间】:2018-04-04 21:11:05
【问题描述】:
我正在开发一个在 Google Kubernetes Engine 上使用 Django 的项目,并且有几个关于最佳架构格式的问题。现在我在一个 pod 中有几个容器,因为它们都相互依赖并且经常通信。这是我的设置:
Pod:网络应用程序
容器:
- NGINX(提供静态内容,向 django 网站发送流量)
- 网站(Django,提供 http 响应)
- 数据库代理(用于网站的 MySQL 服务器和 websocket 服务器)
- websocket(Django worker 来管理 websockets)
- redis(异步功能)
我的计划是创建一个运行多个副本和扩展的部署,但是将这个 pod 分成多个 pod 还是保留它作为一个 pod 更好?
如果我将其分解,在添加必要的服务后,该架构会是什么样子?我是新手,如果这不显示它lol
【问题讨论】:
-
如果您想获得更大的可扩展性,您应该将这些工作负载分派到不同的 Pod/微服务中。当您的应用程序转换为微服务时,您的 kubernetes 集群将以最佳方式跨不同主机优化您的工作负载。因此,如果您想获得更大的可扩展性,请分派您的服务和工作负载。如果没有,请暂时保留它,因为它会给您的项目带来更多的复杂性和可维护性
标签: kubernetes web-deployment scalability google-kubernetes-engine