写在前
从毕业就加入该项目组,从三、五人到最多九、十人的项目,到现在成了两个人的项目组。其中人员和组织的调整可想而知。现在就简简单单介绍一下这个项目。
(为保护公司知识产品和隐私,关键数据和核心架构设计不会涉及)
项目简介
这是一个全公司所有开发、测试、监控组都会使用到的中央”日志/统计数据”整体解决方案。具体使用场景是,开发人员在代码中记录日志或统计埋点,然后相关人员到我们的平台上查看、搜索需要的日志。并且我们提供了统计数据(Error或Exception数)的API,和日志的API,机器拉取相应数据也非常方便。
公司主要是.Net和Java开发语言,.Net用户需使用我们提供的.Net Agent,而Java用户除使用Java Agent外,还可直接使用slf4J的API,也就是说Java应用可以无缝从slf4J迁移到该系统。
数据方面:每日数据流量数十T,日志条数数百亿条。每日独立用户数百人,每日API调用数百万次 (因为统计数据的API是全公司监控数据的重要来源)。
项目挑战
大数据的挑战。面对如此巨大的数据量,在数据传输、数据序列化与反序列化,HBase的存储Schema设计,应用水平扩展的架构设计,应用自身可靠性与容错处理等都需要仔细思考与设计。
数据持续增加的挑战。公司业务持续增长,数据从我入职时不到1T到现在每天数十T,带来的挑战是永无止境的项目优化之路。
组织的不稳定性。任何项目的成败都直接受到“人”的影响。任何项目从来不是一个单纯的项目,其中包含了丰富的政治性因素。点到及止。
总之,做过大数据之后,会让人更加仔细和深入,考虑的因素更多。胆子也会更小,对数据的敬畏之心用存。