【问题标题】:what are best practices for deploying new features for spring boot application?为 Spring Boot 应用程序部署新功能的最佳实践是什么?
【发布时间】:2020-04-14 06:04:11
【问题描述】:

我有一个用户太多的 Spring Boot 应用程序,并且我的应用程序有很多传入请求,我应该如何为应用程序部署新功能而不会丢失传入的用户请求并实际中断应用程序对客户端的可用性?我想了解我的问题的最佳做法。

【问题讨论】:

  • 您必须添加冗余和负载平衡器。您的应用程序是否使用 Session Scope?
  • 可以采用多种部署策略。对于您的特定用例,您可以使用诸如蓝绿色部署策略之类的东西。正如@SimonMartinelli 提到的,您可以在这里有效地使用负载均衡器。后续问题:- 您的应用程序需要实时或非实时响应请求。
  • 非常感谢关键字 blue green。我要详细研究一下。

标签: java spring-boot high-availability sre


【解决方案1】:

请注意,部署策略取决于您的应用程序的性质。

对于您提到的情况,蓝色/绿色或金丝雀会很有用。

部署策略分类的各种方式,下面是这样一种分类。

  • 重新创建:版本 A 终止,然后推出版本 B。

  • Ramped(也称为滚动更新或增量):版本 B 是 慢慢推出并替换 A 版。

  • 蓝/绿:版本 B 与版本 A 一起发布,则流量为 切换到 B 版。

  • Canary:版本 B 已发布给部分用户,然后继续全面推出。 A/B 测试:版本 B 在特定条件下发布给一部分用户。

  • 阴影:版本 B 与版本 A 一起接收真实世界的流量,并且不影响响应。

参考链接 - https://thenewstack.io/deployment-strategies/

【讨论】:

    猜你喜欢
    • 2010-11-10
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    • 2011-05-19
    相关资源
    最近更新 更多