我被要求创建一个具有不同功能的系统。假设服务 1、服务 2 和服务 3。我需要每小时运行这些服务来执行某些操作。 为了构建这些服务的系统,我需要:数据库、用于查看过程结果的 Web 界面、缓存等。 这是我到目前为止的想法:
我需要 kubernetes 来编排我的服务,这些服务打包为 docker 容器。我将部署 mySql 来保存我的数据,并且我可以使用 Redis 缓存进行缓存。
我的服务是由python脚本和Java编写的,需要通过API进行交互。
我认为我可以将 AWS EKS 用于我的 kubernetes 集群
这是我需要知道的:
- 如何部署 Python 或 Java 应用程序并将它们相互连接以及将它们连接到数据库服务
- 我还需要知道如何安排应用程序每小时运行一次,以便我可以在网络界面中查看结果。
请提出您的任何想法或问题。
如有任何帮助,我们将不胜感激。
最佳答案
对于 python/java 应用程序,为这两个应用程序创建 docker 镜像。如果这些应用程序永远运行以提供流量,则将它们部署为部署
。如果您只需要具有类似于 cron 的功能,请在 kubernetes 中部署为Job
。
要使服务可访问,请创建服务作为应用程序的选择器
,以便这些服务可以将流量路由到特定应用程序。
数据库或缓存应作为服务端点
公开,以便您的应用程序独立于环境。
关于java - 微服务应用程序的 kubernetes 架构 - 建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51164215/