我有一个mesos集群,我需要运行两种类型的微服务,一种是生成非常大的文件(文件可能超过2GB),另一种是分析这些文件。分析微服务比生产者服务花费更多时间。 分析服务完成后 - 可以删除该文件。
我想到了两个选择:
在这种情况下最佳做法是什么?
答案 0 :(得分:1)
我想这可以通过不同的方式实现,具体取决于您的要求:
如果您希望能够处理主机(代理)故障,我认为除了使用NFS等共享文件系统之外别无他法。否则,如果您使用Marathon来安排您的微服务,则该任务将在另一个代理(数据不在本地可用)上重新启动。此外,您需要确保每个代理程序上都有相同的装入点,并将这些装入点用作容器中的主机卷。不幸的是,协同定位任务的POD功能可用性开始在Mesos 1.1.0和Marathon 1.4(尚未最终发布)中提供,作为旁注...
如果您不关心主机(代理)故障,那么如果您在Marathon中使用hostname constraints,则可以在同一代理上共同定位两个微服务,并安装主机卷,然后可以跨服务共享。我想你需要一些业务流程才能在生产服务完成后才启动分析服务。