2016-12-04 88 views
0

我有一個mesos集羣,我需要運行兩種類型的微服務,一種是生成非常大的文件(文件可能超過2GB),另一種是分析這些文件。分析微服務比生產服務花費的時間更多。 分析服務完成後 - 文件可以被刪除。如何在Mesos中的兩個微服務之間共享大文件?

我想到了兩個選項:

  1. NFS - 生產性服務業創造NFS上的所有文件和分析服務,直接從共享文件夾服用。 (我擔心這種方法會消耗羣集中的所有內部帶寬)
  2. 本地磁盤(我的首選) - 在這種情況下,我需要以某種方式強制分析micoroservice在生產服務上運行在相同的Mesos從服務器上創建這個特定的文件。 (我不確定這種方法是可能的)

在這種情況下最好的做法是什麼?

回答

1

我想這可以用不同的方式來實現,根據您的要求:

  • 如果你想能夠處理主機(代理)失敗,我覺得這是比使用沒有其他辦法一個共享文件系統,如NFS。否則,如果您使用Marathon來安排您的微服務,則該任務將在另一個代理(數據不在本地可用)處重新啓動。此外,您還需要確保每個代理上都有相同的掛載點,並將這些掛載點用作容器中的主機卷。不幸的是,協同定位任務的POD功能開始在Mesos 1.1.0和Marathon 1.4(尚未最終發佈)中可用,作爲附註...

  • 如果您不關心主機(代理程序)失敗,那麼如果在Marathon中使用hostname constraints,則可以在同一個代理上共同定位兩個微服務,然後安裝可在服務之間共享的主機卷。我想你需要一些編排才能在製作服務完成後才啓動分析服務。

相關問題