使用Marathon在Mesos上部署Mysql

我有一个马拉松的mesos群集和一切在docker中运行。 我想部署生产mysql和mongodb服务器,并试图找出做服务发现的最佳方法。

选项1是使用现有的安装程序,它通过坐在其中一个主站上的haproxy服务器代理所有的东西。 我的问题是每个查询都必须从应用程序机器到主机器到数据库机器两跳,即使查询源于数据库所在的机器上。 这实际上是重要的还是我迂腐?

选项2是使用我设置但从未使用的mesos dns。 这将需要在主机联网模式下运行mysql docker镜像或将3306添加到mesos slave可以提供的端口,然后立即声明3306.然后,我将能够使用mysql.marathon.mesos作为任何连接的主机。

选项3将在每台机器上部署相同的haproxy服务器,并使用应用程序的本地haproxy将查询发送到正确的位置。 这似乎比选项1好一点,因为第一跳总是在同一台机器上,但是需要更多的工作来设置。

有没有人做过这个? 什么是这些types的服务的正确模式?

您的选项2,使用静态端口预留Mesos-DNS,可能是最安全(也是最保守)的select。

outlook未来,我build议还要留意Mysos (MySQL on Mesos)。