【问题标题】:What is the recommended way to scale spring boot service running in a kubernetes cluster?扩展在 Kubernetes 集群中运行的 Spring Boot 服务的推荐方法是什么?
【发布时间】:2018-08-18 23:22:31
【问题描述】:

Spring boot 可选择增加底层嵌入式服务器的线程数 (server.tomcat.max-threads)。

当它通过 kubernetes 部署时,还可以选择增加副本数量 (kubectl scale)。

如果 kubernetes 集群部署在云上(比如 gcp),还可以选择增加节点数量 (gcloud container clusters resize)

此外,还有自动缩放选项(在 pod 和节点级别)。

那么推荐的扩展 Spring Boot 服务的方法是什么?

【问题讨论】:

    标签: spring-boot kubernetes google-cloud-platform horizontal-scaling


    【解决方案1】:

    更好的是 kubernetes 规模,因为 kubernetes 制作额外的副本并控制它(如健康检查)。我建议使用水平自动缩放器。当您需要更多副本时,水平自动缩放器将自己需要。关于水平自动缩放器的文档https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/

    【讨论】:

      【解决方案2】:

      对于 Kubernetes,最好让您的 pod 以一致的水平工作,因此增加线程数可能不是最佳选择。

      使用副本集和Horizontal Pod Autoscaler 是确保部署规模扩大的最佳选择。确保在部署中配置资源请求和限制(这就是一致的 pod 资源消耗很有用的原因)。

      最后,建议enable node autoscaling,这样您的集群将始终有足够的资源来容纳您的扩展 Pod 部署。

      【讨论】:

        猜你喜欢
        • 2013-05-08
        • 1970-01-01
        • 2021-08-30
        • 1970-01-01
        • 2016-05-26
        • 1970-01-01
        • 2020-07-22
        • 1970-01-01
        相关资源
        最近更新 更多