多生产者消费者的并发数据结构,其中每个消费者读取每个数据



我需要为以下场景构建数据结构。

  1. 有多个生产者,他们需要向消费者发送数据
  2. 有多个消费者,他们需要从生产者那里接收数据

到目前为止,这是mpmc队列的典型用例。然而,我还有一个限制。

  1. 每个消费者都必须能够读取Producer发送的每个数据

当然,一些消费者必须能够读取第二个或第三个元素,而另一个消费者则读取第一个元素,如果每个消费者都完成了第一个元素的读取,则应该删除第一个元素。

这种情况下有已知的数据结构吗?

也许Apache Kafka可以实现您的目标。