3

我正在使用 Marathon 启动并运行 Mesos 集群(1 个主节点和 2 个从节点)。我在 Mesos/Marathon 中使用 docker 作为容器。我有一个 Karaf docker,它将作为一个集群在 Marathon 中启动。我打算使用 Cellar of Fabric 作为 Karaf 的集群解决方案。我的问题是

  1. 因为我在 Marathon 中使用随机端口映射,所以我不知道如何让 Hazel-cast 的自动发现工作。在随机从站上使用随机 docker 实例。任何建议或解决方案/方法

  2. 使用熔丝织物而不是地窖可以轻松实现这一点 - 我对此完全视而不见。请为 Karaf 提供一些链接/见解

提前致谢

4

2 回答 2

5

回答项目符号 #2

Fabric8 v2 是基于 Kubernetes 和 Docker 等云技术的架构。这使得 Fuse Fabric 更适合未来的技术堆栈,而不是与 Java 和 OSGi 绑定。

Rob Davies 在博客上发布了有关此更改的更多背景信息

因此,使用基于 docker 的模型和诸如 Mesos/Kubernetes 之类的云基础设施,然后让他们处理集群等等。并让您的应用程序(作为 docker 镜像)更简单。您不需要使用 Karaf Cellar / Fuse Fabric v1 等。它们从与您的应用程序位于同一位置的内部进行集群。就像 kubernetes 从外部做的那样,完全分开。

顺便说一句,#1然后kubernetes服务摇滚。James Strachan 最近为开发人员写了一篇关于 Kubernetes 的博客文章

如果使用 kubernetes 服务,那么您只需使用操作系统环境变量即可查找 hazelcast 集群的 IP 和端口号。

好吧,也许这有点漫无边际。但我建议检查 kubernetes/fabric8/docker 等 - 如果您现在正在构建一个新平台,请避免使用 Java 集群,例如 Karaf Cellar 或 Fuse Fabric v1。

于 2015-05-28T07:25:30.783 回答
1

许多人已经成功使用 HAProxy 和 Marathon 的服务端口来实现集群范围的可发现性。请参阅https://mesosphere.github.io/marathon/docs/service-discovery-load-balancing.html

您还可以尝试使用 mesos-dns 进行基于 DNS 的服务发现,即使没有 Marathon 也可以使用。见http://mesosphere.github.io/mesos-dns/

于 2015-03-11T17:52:48.743 回答