首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头集装箱上的分布式系统NSQ拓扑模式

码头集装箱上的分布式系统NSQ拓扑模式
EN

Stack Overflow用户
提问于 2013-12-02 10:49:06
回答 1查看 1.2K关注 0票数 7

能否用拓扑模式复制上一例“Docker”中描述的"NSQ实时分布式消息传递平台“?有人有文档或图像示例吗?

EN

回答 1

Stack Overflow用户

发布于 2014-07-30 16:25:28

在等待几个背景任务完成的时候,我会对此进行一番探索。

@Luca G. Soave提到的分布式消息传递平台在这里可以看到:

我相信这个问题的根源是一个致命的问题:对码头货柜的误解。

出于我们讨论的目的,让我们假设Docker容器只是虚拟机的不同名称。“一个分布式系统能用虚拟机构建吗?”不太合适,因为它实际上只是一个配置、抽象和协调的问题。

上面的关系图可以重新创建,每个接触点/责任点(节点)都是自包含在Docker容器或虚拟机中。即:

  • 每个API/nsqd节点都在自己的容器中。
  • 每个nsq_to_file节点都在自己的容器中。
  • 每个nsqlookupd节点都在自己的容器中。

取决于您如何设置您的Docker映像,您可以通过多种方式实现该映像的分布式(多主机)版本。有些想法是:

  • 将容器内部端口映射到同一个主机端口,并将节点配置为将自己广播为主机ip,以便当其他节点连接到它们时,它们在映射到容器的端口上锁定主机的外部ip;从而直接连接到容器。
  • 使用像领事这样的服务发现包来替换nsqlookupd,以便添加额外的元数据。如果您正在运行许多容器,每个容器内部绑定到同一个端口(例如端口9090),但允许主机上的docker进程管理随机的外部端口映射,这将是非常有用的。

由于这与Docker有关,因此在跨主机向相关容器广播信息方面有了一些最新的发展;这将是为您的api/nsqd容器添加有关nsqlookupd容器的信息的一种方法。

对于小型部署,我已经成功地使用了MaestroNG,但是对于大规模的码头部署,它肯定不是一个很好的解决方案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20326416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档