我有两个不同的微服务和一个API网关。都托管在不同的机器上。我希望这两个微服务使用Redis Pub/Sub相互通信。
当所有微服务都托管在同一台机器上时,我可以让它们相互交谈,但当它们托管在不同的机器上时,我无法让它们相互交谈。
目前,我正在使用以下代码使它们在同一台机器上与其他主机通信
订阅者
const client = redis.createClient();
const subscriber = client.duplicate();
await subscriber.connect();
await subscriber.subscribe('user-notify', (message) => {
console.log('user-notify', message);
});
出版者
const publisher = redis.createClient();
await publisher.connect();
publisher.publish("user-notify", "Server Started");
1条答案
按热度按时间vsikbqxv1#
为了解决这个问题,我将redis安装到服务器上,并将主机和端口作为参数传递给
redis.createClient();
对于Eg,
假设redis服务器的ip是
17.52.123.12
,post是5556
订阅者
出版者