这是一篇关于使用 heroku 进行扩展的精彩文章(它适用于传统部署)。
鉴于我们希望容器化应用程序是单个进程,我们如何获得:
- 缓慢的客户保护
- 慢响应保护
在充分利用水平 pod 自动缩放的 Kubernetes/GKE 环境中?
假设我的部署看起来很像以下(信用@nithinmalya4):
我还没有选择 Web 服务器,默认情况下rackup
正在服务WEBrick
. 我正在考虑将其更改为多线程 Puma。
我担心的是autoscaler
基于CPU的作品,而不是基于它的想法consumed by a current http/s request
,所以它可能不会发挥作用。
- 我是否正确理解自动缩放器?
- 什么是理想的向上/向下扩展架构?
我们目前的想法:
nginx
deflater
在Ingress
.puma
在rails前面(与image
rails-api相同),假设它会更好地利用cpu并触发自动缩放HPA 的自定义指标(仍然需要使用 1.8 进行研究)