java - 微服务应用程序的 Kubernetes 架构 - 建议
问题描述
我被要求创建一个具有不同功能的系统。假设服务 1、服务 2 和服务 3。我需要每小时运行这些服务来做某事。为了制作我需要的那些服务的系统:数据库、用于查看进程结果的 Web 界面、缓存等。这是我到目前为止所考虑的:
我需要 kubernetes 来编排我的服务,这些服务打包为 docker 容器。我将部署 mySql 来保存我的数据,我可以使用 Redis 缓存进行缓存。
我的服务是由python脚本和Java编写的,需要通过API相互交互。
我想我可以将 AWS EKS 用于我的 kubernetes 集群
这是我需要知道的:
- 如何部署 python 或 Java 应用程序并将它们相互连接,并将它们连接到数据库服务
- 我还需要知道如何安排应用程序每小时运行一次,以便可以在 Web 界面中查看结果。
请拍摄您有任何想法或问题。
任何帮助,将不胜感激。
解决方案
对于 python/java 应用程序,为这两个应用程序创建 docker 映像。如果这些应用程序永远运行以服务流量,则将它们部署为deployments
. 如果您只需要类似 cron 的功能,请像 Job
在 kubernetes 中一样部署。
要使服务可访问,selector
请为应用程序创建服务,以便这些服务可以将流量路由到特定应用程序。
应该公开数据库或缓存,service endpoints
以便您的应用程序与环境无关。