首页 > 解决方案 > 使用 Redis 的两个或多个 Java 应用程序之间的通信

问题描述

我目前正在尝试使用 Redis 在同一 Java 应用程序的多个实例之间进行通信。

目前,我使用 pubsub 通道,如果一个实例发送一条消息,我将它注册到一个带有 UUID 的 Map 和 Consumer 以在其他实例回复时处理响应。

然而,这段代码有点丑陋,远非最佳。我想知道是否还有其他方法可以做类似的事情。

简而言之,在需要所有连接实例进行回复的应用程序之间进行通信的最佳方式是什么?

一个使用示例是使用 5 个实例,例如 (instance1-5),我发送一个调用,要求每个应用程序发送它们的活动连接,以便我可以列出所有连接的总数。我当前的实现不能做这样的事情,因为它只允许单个响应。我想要的是等待所有“连接”实例回复(可能有超时),然后才响应回调。

(我可以更改我当前的实现以使其正常工作,但我想知道是否有更好的替代我当前使用的 Redis 发布/订阅频道 | Redis 但是更可取,因为此应用程序的用户已经拥有一个 redis 服务器可用的)

标签: javarediscommunication

解决方案


推荐阅读