所以,我不确定这会满足你的需求 - 但我将描述我们对BI的总体方法:
解决方案是将来自不同服务的数据聚合到一个中央报告数据库中 - 如果所收集的数据按时间版本化,这是可行的 - 即您可以转到报告数据并获取正确的时间点数据(对于该数据库)时间)
将数据提供给服务可以通过各种服务发布的事件或定期导入,“记录”聚合或它们的组合。
我称这种模式 汇总报告
请注意,除此之外,您仍然需要从各个服务获取需要最新的事物的数据,因为聚合解决方案具有固有的延迟(降低的新鲜度)
编辑: 考虑到你所做的编辑和你所做的评论(临时查询)我会说你需要将其视为一个旅程,也就是说,你想要选择4,所以首先从源头提取数据您必须回答当前的临时需求,在开发过程中转换为消息并添加更多源。
此外,您可能想要考虑服务之间的差异(不共享内部数据结构并具有严格的边界)和方面(可以使用相同源的半独立服务部分)
PS 我也写过 关于BI& Info的InfoQ文章SOA Tom在评论中提到 - 本质上是在讨论这个想法 - 这篇文章是从2007年开始的,即我已经成功地将它应用了十多年了(不同的技术,从写入模式转移到读取模式等但是相同原则)