为了评估SCDF,我们一直在尝试使用本地服务器模式,并且文档指出这仅用于开发,并不知道这意味着什么。 题 : 但是对于生产部署,SCDF仅与kubernetes,apache yarn或cloud Foundry目标运行时一起提供。我们目前没有这些运行时。我们使用ansible部署微服务,并拥有本地脚本来管理我们的基础架构和微服务。
例如,不可能将docker-compose yml更改为指向集群化的kafka,但不能确定自身是否需要集群化或分发(以减轻单点故障)的数据流服务器可能包含多个数据流服务器进程在负载均衡器后面运行。
如果本地数据服务器模式适用于生产负载,请告知。或者,与本地数据服务器相比,Cloud Foundry或SCDF的kubernetes版本提供了什么。
答案 0 :(得分:0)
平台(即cf,k8s,..)是可靠运行流/任务应用程序的要求,并且在应用程序由于任何原因崩溃时也自动提供弹性。该平台无需任何人工干预即可将其备份。除此之外,平台还可以提供端到端的安全性,日志记录,指标,自动缩放功能,任务调度程序等等。 SCDF依靠并将其委托给平台来利用这些增值。
例如,要在PCF中安排具有cron表达式的任务/批处理作业,您将使用PCF Scheduler,我们已经从SCDF的Dashboard中对其进行了本地集成。在本地服务器中将不可用。
看来您已经建立了类似本地平台的基础架构,可以为Apps提供HA,FT和服务级别的保证。在此期间,您可能要质疑在此方面的研发工作,但这是一个完全不同的主题。这是关于选择平台还是DIY的平台,我将在此回复中跳过。
现在回到您的问题。
通过在前面有多个实例和负载均衡器,可以避免对本地服务器使用SPOF。您只需要记住,没有自动的方法可以使这些实例备份并在发生故障时运行。也许您在自己的DIY平台中也可以解决这个问题。
是的,您可以自定义docker-compose模板以插入所需的任何内容。最后,它将帮助提供相关组件,然后使用它来构建流/任务定义。