【问题标题】:Vaadin on Google Cloud: Production DeploymentGoogle Cloud 上的 Vaadin:生产部署
【发布时间】:2021-05-19 10:16:05
【问题描述】:

我通过https://vaadin.com/learn/tutorials/cloud-deployment/google 了解如何在 GCP 上部署 Vaadin 应用程序。

现在,当我深入研究细节时,我发现 Cloud Run 不支持 Session Affinity,尽管 Google App Engine 确实支持它,但文档说“您永远不应该使用会话亲和性来构建有状态的应用程序”。所以基本上这意味着本教程中的建议并不能真正用于生产。

那么,我的问题是,在 Google Cloud 上运行 Vaadin 应用程序以进行生产部署的推荐方法是什么?

我读到分布式会话存储也不是选项(https://vaadin.com/blog/session-replication-in-the-world-of-vaadin)。

谢谢你, 克里斯托夫。

【问题讨论】:

    标签: google-app-engine google-cloud-platform vaadin vaadin-flow


    【解决方案1】:

    使用任何 Vaadin(可能除了 Fusion)依赖于在会话中大量使用服务器端存储状态(每个客户端存储大量场景图)——没有办法绕过它。如果您的环境或用例无法处理此问题,那么您最好使用 Vaadin。由于会话数据的大小,不鼓励不鼓励使用分布式会话存储(链接的博客说明了原因)。

    TL;DR:没有灵丹妙药。

    【讨论】:

      【解决方案2】:

      回复较晚,但可能对其他人有用。

      Vaadin 对云并不友好。

      vaadin 网站上有关于使用 hazelcast 的服务器端存储会话的演示......但是在第一次“很好用”和几天的努力和研究之后,你意识到了

      1. 这只不过是一个 hello world,其他尝试过这种方式的开发人员面临多个没有答案的阻塞问题
      2. 此服务器端存储的会话最终导致了对于大规模部署而言过于繁重的内容。
      3. 正如 cfrick 所述,出于性能原因,这无论如何都需要会话亲和性

      所以我的观点是:算了吧,粘性会话是使用 vaadin 的唯一方法。

      现在粘性会话不是那么直接设置,尤其是在使用推送然后进行生产时,您还需要管理诸如“应用程序就绪”和“应用程序消失”之类的事情......到目前为止,我已经没有看到任何生产级响应。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-03
        • 1970-01-01
        • 1970-01-01
        • 2021-05-21
        相关资源
        最近更新 更多