活动流仪表板的屏幕截图活动流仪表板的屏幕截图
在数字、数据和技术 团队中,我们制作和维护多项面向内部和公众的 服务。这些服务由多个具有不同专长的团队创建,使用多种编程语言编写。它们需要连接以共享数据,通常是近乎实时的。
我们选择通过创建一个位于服务之间 BC 数据墨西哥 以承载这些数据的应用程序来解决这个问题:活动流。
活动流的工作原理
每个需要向其他服务发送数据的服务都会公开一个简单的应用程序编程接口 ,供活动流查询。其页面按时间顺序排列。这允许活动流通过浏览所有页面来反复提取其所有数据。然后,它会反复查询最后一页以获取更改。
这是一个相当“低技术”的解决方案,这意味着几乎任何应用程序都可以做到这一点,但它仍然具有一些很好的特性。例如,我们的 提供了 与公司进行的数十万次互动的详细信息。 会提取这些数据,然后我们的其他服务几乎实时地查询这些数据。
数据格式
每个 都必须以某种格式提供数据。我们决定使用恰好名为 的格式作为 中的数据格式。它专为社交网络相互通信而设计。这样做的缺点是 的某些部分可能永远都不需要,但其可扩展性的好处超过了这一点。
查询语言
活动流将其数据存储在中,客户端用来查询活动流数据的语言是 自己的查询语言。一些开发人员可能会发现这很不寻常,或者它违反了某些 设计规则。这是因为许多服务隐藏了其内部工作原理,并使用与内部使用的查询语言不同的查询语言。