我需要为以下场景构建数据结构。
- 有多个生产者,他们需要向消费者发送数据
- 有多个消费者,他们需要从生产者那里接收数据
到目前为止,这是mpmc队列的典型用例。然而,我还有一个限制。
- 每个消费者都必须能够读取Producer发送的每个数据
当然,一些消费者必须能够读取第二个或第三个元素,而另一个消费者则读取第一个元素,如果每个消费者都完成了第一个元素的读取,则应该删除第一个元素。
这种情况下有已知的数据结构吗?
也许Apache Kafka可以实现您的目标。