知识卡片

面对无穷尽的报表需求,把原始数据开放为API,而不是自己承接所有定制需求

普通读书笔记卡

内容

随着CAT在美团点评内部的使用规模不断扩大,团队面临一个几乎不可能靠”持续开发”解决的问题:公司越大,各个产品线、各个业务方对报表的需求就越多,每个团队都有自己独特的报表诉求,如果CAT团队试图自己去响应和实现所有这些五花八门的定制化报表需求,这件事本质上是做不完的——不是团队能力不够,而是需求的多样性和数量级本身就在持续增长,靠中心化团队逐一定制永远追不上下游业务方派生出的新需求。CAT团队最终的决策是转变思路:把整个系统里的所有数据都通过API的形式开放出去,让下游有需求的系统自己基于这些原始数据去构建自己需要的报表和展示——这样美团点评内部大量下游系统能够依赖CAT提供的数据API去做进一步的报表加工和展示,而不需要CAT团队自己去逐一实现和维护这些五花八门的定制报表。这个决策背后的判断逻辑是:当一个中心化团队面对的下游需求呈现出”数量持续增长、种类高度多样化”这个特征时,试图靠中心化团队自己去满足每一个具体需求,从长期看必然会陷入需求永远消化不完、团队资源永远不够用的困境;更可持续的路径是退一步,把自己真正独特、别人无法替代的能力(这里是原始数据的采集、存储和基础计算能力)通过标准化接口暴露出去,把”如何基于这些数据构建具体报表”这个更加发散、更贴近各个下游方具体场景的工作,下放给下游团队自己去完成——中心化团队专注做好”提供高质量、可靠、开放的基础能力”这件事,而不是试图把自己变成所有下游需求的最终实现者。

参考来源

- 位置:《高可用架构(第1卷)》第5章《运维保障》"5.2 深度剖析开源分布式监控CAT"节,"5.2.5 总结感悟"(源文件:_epub-src/OEBPS/Text/Chapter5_2_6.xhtml) - 结论依据:原文说明"每个产品都有很多报表……很多业务方都会提出各自的需求。最后我们决定把整个CAT系统里的所有数据都作为API暴露出去,我们并不是不能支持这些需求,而是这件事根本是做不完的。美团点评内部下游有很多系统会依赖CAT的数据,来做进一步的报表展示",直接支撑本卡片结论。 - 原始内容:公司越大,监控的需求越多,报表需求也更多……很多业务方都会提出各自的需求。最后我们决定把整个CAT系统里的所有数据都作为API暴露出去,我们并不是不能支持这些需求,而是这件事根本是做不完的。