问题描述
所以我 takeHead 然后开始处理。如果要扩展规模并且每个pod /实例使用8线程执行器服务,则问题是,在系统突然关闭时,“消息”将被视为已被使用/消耗。
我想一种策略是针对每个队列/出队使用单独的分布式 Redisson 列表 /映射,表示正在处理这些元素/消息。我想这行得通,但是要跟踪该列表也不容易。
有没有办法获取Head,以某种方式使用活动对象,然后将队列中的元素标记为受管理,然后在完成O(1)后以某种方式将其删除?
解决方法
所以我先取头然后开始处理。如果要扩展规模并且每个pod /实例使用8线程执行器服务,则问题是,在系统突然关闭时,“消息”将被视为已被使用/消耗。
您需要使用RStream对象,它允许每个使用者跟踪未消耗的元素。