使用Marathon在Mesos上部署Mysql

时间:2015-06-16 04:24:47

标签: mysql docker haproxy mesos marathon

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

选项1是使用现有的设置,它通过位于其中一个主服务器上的haproxy服务器代理所有内容。我的问题是,每个查询都必须进行两次跳转,从app机器到主机到db机器,即使查询源于db所在的机器上。这真的很重要还是我迂腐?

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

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

以前有人这样做过吗?这些类型的服务的正确模式是什么?

2 个答案:

答案 0 :(得分:2)

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

展望未来,我建议还要关注Mysos(MySQL对Mesos)。

答案 1 :(得分:0)

我会和领事一起去寻找服务,你也有马拉松领事,这个领事很好。

一旦服务健康,它将作为服务在领事DNS中公开。

如果你想制作一个galera / percona集群,你的困难就是。