如何在mesos中的两个微服务之间共享大文件?

5rgfhyps  于 2021-06-26  发布在  Mesos
关注(0)|答案(1)|浏览(291)

我有一个mesos集群,我需要运行两种类型的微服务,一种是产生非常大的文件(可能超过2gb的文件),另一种是分析这些文件。分析微服务比生产性服务花费更多的时间。分析服务完成后-可以删除文件。
我想到了两个选择:
nfs生产者服务在nfs上创建所有文件,分析服务直接从共享文件夹中获取这些文件(我担心这种方法会消耗集群中的所有内部带宽)
本地磁盘(我的首选)-在这种情况下,我需要以某种方式强制analysis micoroservice在与创建此特定文件的生产者服务相同的mesos从属服务器上运行(我不确定这种方法是否可行)
在这种情况下,最佳做法是什么?

ca1c2owp

ca1c2owp1#

我想这可以通过不同的方式实现,具体取决于您的需求:
如果您希望能够处理主机(代理)故障,我认为除了使用nfs之类的共享文件系统之外,没有其他方法了。否则,如果您使用marathon来安排微服务,任务将在另一个代理上重新启动(数据在本地不可用)。此外,还需要确保每个代理上都有相同的装载点,并将它们用作容器中的主机卷。不幸的是,pod特性在mesos1.1.0和marathon1.4(尚未最终发布)中开始提供,作为补充说明。。。
如果您不关心主机(代理)故障,那么如果您在marathon中使用主机名约束,您可以在同一个代理上共同定位两个微服务,并装载主机卷,然后这些卷可以在服务之间共享。我猜您需要一些编排,以便仅在生成服务完成之后才启动分析服务。

相关问题