我试图在消费者端实现信号量的概念。下面是一个示例:一系列消息:
[producer] d1 -> e1 -> a4 -> a3 -> b1 -> c1 -> a2 -> a1 [consumer]
在信号量中,最多允许两个相同类型的事件。所以当前四个事件被消耗时( a1
, a2
, c1
, b1
),第五和第六个事件( a5
, a5
)应该保留在某个地方(这是个问题),以及之后的事件( e1
, d1
)仍然可以立即使用,因为它们与任何现有事件的类型不同。在一个事件之后 a1
完成处理后,一个空间可用,以便事件 a3
可以消费。离开活动 a4
还在等。
现在有一个新的事件即将发生,叫做 f1
, f1
应在事件发生时立即使用 a4
仍在等待。 a4
仅当其中一个处理 a
饰面。请注意,可能有数千种事件类型,如a、b、c、d、e。。。可能有成千上万个相同类型的事件(a1,a2,a3,a4,…),但是信号量限制可以很低,比如10。
我如何使用Kafka来实现这一点?寻找推荐的实现模式,Kafka功能,文章,博客等。谢谢!
暂无答案!
目前还没有任何答案,快来回答吧!