gpt4 book ai didi

java - 如何在运行多个服务时只获取一个 Redis 事件?

转载 作者:IT王子 更新时间:2023-10-29 06:16:16 25 4
gpt4 key购买 nike

我有一个作为微服务运行的 Java 应用程序,它接收 Redis 中过期键的事件(Redis 配置有“config set notify-keyspace-events Ex”)。使用 MessageListener 在应用程序中读取这些事件。

我的问题是,当多个版本的应用程序正在运行时,所有实例都会收到 Redis 通知并执行相同的操作。但这不是我的本意,只需要执行一个 Action 。在我的例子中,每个在 Redis 中过期的 key 都必须在数据库中记录一次。

有没有办法将 Redis 配置为仅将事件发送到同一微服务的一个实例?或者,Redis 发送的事件可以被微服务的多个实例的多个监听器读取,然后我可以实现一些聪明的东西,比如使用 RabbitMq,只生成一条只处理一次的消息吗?

最佳答案

我认为事件监听器也应该使用另一个消息队列而不是 Redis。

关于java - 如何在运行多个服务时只获取一个 Redis 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57368052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com