我有一种情况,我想将一些客户端(认为它们是消费者对象)与大量数据行(一些固定的MB)进行同步,这些数据行定期(例如每十分钟)从外部资源流式传输。如果可能的话,我想使用EventBus(例如Guava的)完成该任务。
将流数据行作为一种“多部分消息”(由大约50万条单个消息组成)通过事件总线传递,这一点很重要,这使它的使用者可以检测到每个同步运行的开始和结束。与数据库事务类似,确保客户端捕获开始和结束以确保他们从头到尾获得全部内容很重要。
这是事件总线的常见用例,还是我正在滥用此工具?我曾想在消息对象上添加开始/结束标志或枚举它们,但想知道是否有更清洁的方法。