问题描述
如何确保 Pub/Sub 模式中的公平性,例如kafka 当一个发布者产生数千条消息,而所有其他生产者的消息数量很少时?无法预测哪个生产者的活跃度高。
如果来自其他生产者的其他消息不必因为一个生产者非常活跃而等待数小时,那就太好了。
那是什么模式? Kafka 或其他技术(如 Google PubSub)是否有可能?如果是,如何?
在这种情况下,多个分区也不能很好地工作,或者我可以看到如何。
解决方法
在Kafka中,你可以利用配额的概念来防止某些客户端垄断集群资源。
可以强制执行两种类型的配额:
- 网络带宽配额
- 请求速率配额
有关如何配置这些的更多详细信息,请参见 the official documentation of Kafka。