MCI实现了客户端持续集成的平台统一,极大提高了研发效率和保证客户端质量,实现了研发流程的自动化,提升了打包的速度与效率,同时也配备了诸如包体积大小、代码质量检测等能力。
详细可以查看参考资料[1]。
CAT - 全端监控平台
CAT(Central Application Tracking),是美团点评基于 Java 开发的一套开源的分布式实时监控系统。美团点评基础架构部希望在基础存储、高性能通信、大规模在线访问、服务治理、实时监控、容器化及集群智能调度等领域提供业界领先的、统一的解决方案,CAT 目前在美团点评的产品定位是应用层的统一监控组件,在中间件(RPC、数据库、缓存、MQ 等)框架中得到广泛应用,为各业务线提供系统的性能指标、健康状况、实时告警等服务。
CAT从开发至今,一直秉承着简单的架构就是最好的架构原则,主要分为三个模块:CAT-client、CAT-consumer、CAT-home。
Cat-client 提供给业务以及中间层埋点的底层SDK。
Cat-consumer 用于实时分析从客户端提供的数据。
Cat-home 作为用户给用户提供展示的控制端。
CAT项目从2011年开始做,到现在整个生产环境大概有三千应用,监控的服务端从零到几千,再到今天的两万多的规模,整个项目是从历时看起来是一个五年多的项目,但即使是做了五年多的这样一个项目,目前还有很多的需求需要开发。
详细可以查看参考资料[2][3]。
Logan - 移动端集成日志库
Logan是美团点评集团移动端基础日志组件,这个名称是Log和An的组合,代表个体日志服务。同时Logan也是“金刚狼”大叔的名号,当然我们更希望这个产品能像金刚狼大叔一样“犀利”。Logan已经稳定迭代了一年多的时间。目前美团点评绝大多数App已经接入并使用Logan进行日志收集、上传、分析。
目前存储SDK部分已经开源,GitHub的项目地址参见:github.com/Meituan-Dia… 。
在移动App中,最担心的场景就是无法还原用户的错误场景,通过散落在各处的日志无法完整的追溯用户的操作情况,导致线上问题处理不及时甚至无法重现。
Logan框架就是一个移动端基础日志组件,能够通过自动/手动方式来收集完整的用户日志信息,并且通过友好、聚合的前端系统形式来展现,帮助开发者快速定位问题。
Logan其核心体系由四大模块构成:
日志输入:代码级日志、网络日志、用户行为日志、崩溃日志、H5日志等。
日志存储:Logan自研的日志协议解决了日志本地聚合存储的问题,采用“先压缩再加密”的顺序,使用流式的加密和压缩,避免了CPU峰值,同时减少了CPU使用。
后端系统:后端是接收和处理数据中心,相当于Logan的大脑。主要有四个功能:接收日志、日志解析归档、日志分析、数据平台。
前端系统:研发人员通过Logan前端系统搜索日志,进入日志详情页查看具体内容,从而定位问题,解决问题。具备了数据可视化、筛选、过滤、搜索、分享等功能。
详细可以查看参考资料[4]
ERA - 全栈前端框架
前端开发涉及创建项目、框架选型、业务逻辑、配置打点、收集日志、构建测试、申请服务、上线检查等一系列环节,在各个环节中又有大量的技术选型,这样不断耗费开发同学的精力,同时也很难做到技术栈的统一和标准化,进而缺乏技术沉淀,每次新项目开发都需要从零开始。
ERA提供了一整套前端工程化能力,目的是在项目开发流程中进行适当的收敛,同时又通过插件方式提供了足够定制化的能力。
初始化项目:可以通过插件方式集成集团基础的标准服务生成初始化的标准项目模板,同时也提供基于不同业务场景的项目模板
开发调试:基于插件方式可以快速集成各类服务,例如ABTest、Proxy、Mock、PWA等等,可以帮助业务开发同学快速进行业务逻辑代码编写
编译配置:基于Webpack,并且内置了babel/eslint的最佳实践
部署发布:可以实现Node服务和纯静态前端的发布
代码质量ESLint