Message brokers enable asynchronous communication between data producers and consumers in distributed environments by assigning messages to ordered queues. Message broker systems often provide with mechanisms to parallelize tasks between consumers to increase the rate at which data is consumed. The consumption rate must exceed the production rate or queues would grow indefinitely. Still, consumers are costly and their number should be minimized. We model the problem of determining the required number of consumers, and the partition-consumer assignments, as a variable item size bin packing variant. Data cannot be read when a queue is being migrated to another consumer. Hence, we propose the R-score metric to account for these rebalancing costs. Then, we introduce an assortment of R-score based algorithms, and compare their performance to established heuristics for the Bin Packing Problem for this application. We instantiate our method within an existing system, demonstrating its effectiveness. Our approach guarantees adequate consumption rates something the previous system was unable to at lower operational costs.
翻译:信息中介商通过将信息分配给有顺序的排队,使分布环境中的数据生产者和消费者之间能够进行不同步的通信。 信息中介商系统通常提供机制,使消费者之间的任务平行,以提高数据消耗率。 消费率必须超过生产率或排队将无限期增长。 但是, 消费者成本昂贵, 数量应该最小化。 我们将确定所需消费者数量的问题和分配消费量分配作为可变项目大小的垃圾包装变体。 当排队迁移到另一个消费者时, 数据无法读取 。 因此, 我们建议R 核心衡量标准来核算这些再平衡成本 。 然后, 我们引入基于 R 计数的算法, 并将其性能与用于此应用程序的Bin包装问题的既定超常性进行对比。 我们在现有系统中将我们的方法进行即时化, 展示其有效性 。 我们的方法保证了前系统无法以较低操作成本衡量的适当消费率 。