我们有一个用 Java 编写的自定义消息传递系统,我想实现一个基本的批处理/压缩功能,基本上在重负载下它会将一堆推送响应聚合成一个推送响应。
本质上:
- 如果我们检测到过去一秒内发送了 3 条消息,则开始批处理响应并安排一个计时器在 5 秒内触发
- 计时器会将接下来 5 秒内收到的所有消息响应聚合成一条消息
在我只是在 Java 中寻找最好的例子之前,我确信这已经实现了。我不是在寻找一个完整的消息传递层,只是每秒检测基本消息并安排一些任务(显然我可以自己轻松编写这个我只是想将它与任何现有算法进行比较以确保我不会错过任何边缘情况或我已尽可能简化问题)。
是否有构建基本 QoS 批处理/节流/压缩实现的好的开源示例?