【发布时间】:2017-10-30 01:21:12
【问题描述】:
我正在使用 Java 构建代理服务器。此应用部署在 docker 容器中(多个实例)
以下是我正在处理的要求。
- 客户端向我的代理服务器发送 http 请求
- 代理服务器按照收到的顺序将这些请求转发到目标节点服务器。
- 当无法到达目的地时,代理服务器会存储这些请求并在将来可用时转发它。
- 同样,当请求失败时,请求将在“X”时间后重试
我实现了一个节点明智的队列植入(哈希映射 - (键)节点名称 - (值)可达性状态 + 请求队列按接收顺序)。
当只有一个实例时,上述解决方案效果很好。但是我想知道当有多个实例时如何解决这个问题?有没有我可以用来解决这个问题的共享数据结构。 ActiveMQ、Redis、Kafka 之类的(我对共享内存/处理非常陌生)。
任何帮助将不胜感激。
提前致谢。 阿杰
【问题讨论】:
标签: data-structures apache-kafka activemq shared