我有一个带有马拉松的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好一点,因为第一跳总是在同一台机器上,但需要更多的工作来设置。
以前有人这样做过吗?这些类型的服务的正确模式是什么?
答案 0 :(得分:2)
您的选项2,使用Mesos-DNS和静态端口预留,可能是最安全(也是最保守)的选项。
展望未来,我建议还要关注Mysos(MySQL对Mesos)。
答案 1 :(得分:0)
我会和领事一起去寻找服务,你也有马拉松领事,这个领事很好。
一旦服务健康,它将作为服务在领事DNS中公开。
如果你想制作一个galera / percona集群,你的困难就是。