本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
基于容器的应用程序设计
Java EE 更换平台的挑战
将 Java EE 应用程序迁移到云中的容器化平台时,您可能会面临以下挑战: AWS
一次性 — 要使容器保持“无状态”,您可能需要将会话状态存储在外部数据库中。基于容器的应用程序需要更快、更小的应用程序运行时系统,并且您的 Java EE 应用程序服务器可能无法在容器环境中运行。
容器平台兼容性 — 您可能需要减少应用程序特定于运行时系统的功能,例如集群化、应用程序部署和内存复制。
可移植性 — 基于容器的应用程序使用应用程序运行时系统部署,而传统的 Java EE 应用程序则使用应用程序包(.jar 或 .war 文件)部署。
基于容器的应用程序设计的最佳实践
我们建议您在为云设计基于容器的 Java EE 应用程序时遵循以下最佳实践: AWS
-
请避免在创建容器实例后对其进行更改。如果必须进行更改,请构建新的容器映像,并在所有环境中重复使用该新镜像。
-
避免在容器内存储永久数据。
-
设计您的容器,使其针对单一用途。有关设计多用途容器的信息,请参阅通过 AWS App Mesh在 Amazon EKS 上使用附加注入
博客文章。 -
确保您的容器实现了所有必需品 APIs。
-
设计您的容器,使其系统要求围绕 CPU 使用率、系统内存和永久存储来构建。
有关最佳实践,请参阅 Kubernetes 文档中的基于容器的应用程序设计原理