作者简介
空歌白石,携程资深研发经理,关注性能和效率提升、架构优化。
团队热招岗位:后端开发
本文概述了携程机票在基础数据处理所做的中台化设计方案。第一部分阐述了中台化的背景和面临的挑战,第二部分介绍了中台化设计的原则以及目标,第三部分详细介绍了中台化架构的关键技术实践,涉及数据一致性、数据时效性、系统健壮性、系统自动化等方面的探索和尝试,最后是整体的技术架构概览以及线上运行效果。希望以上内容能够对大家有所帮助和启发。
一、背景与挑战
二、原则与目标
三、关键技术实践
3.1 数据一致性
3.2 数据时效性
3.3 系统健壮性
3.4 消费流程优化
3.5 统一数据治理
四、技术架构概览
五、成效
六、未来计划
一、背景与挑战
随着携程国际机票业务的快速发展与全球化战略的深入推进,需要使用的数据种类以及对应的复杂度也随之显著增加。这一增长趋势不仅带来了数据管理的挑战,同样对数据准确性和实时性提出了更高的要求。
接下来,我们从生产者和消费者两个角度具体看下有哪些挑战。
生产者视角下的挑战:对于基础数据的生产者,每一种数据类型都有其独特的业务逻辑,涵盖数据的获取、处理、存储和匹配等环节。数据更新周期长,业务复杂性高,和基础数据相关的应用就达到了几十个,维护成本不断攀升。同时,还存在着数据访问效率低、上云过程复杂、数据回滚困难以及无法应对大规模机器重启或数据刷新等问题。
消费者视角下的挑战:对于基础数据的消费者,每一个应用都或多或少依赖于基础数据。任何一种数据的误差都可能引发广泛的线上问题,而且问题的发现往往滞后,导致生产问题被不断放大。此外,还存在着业务开发接入复杂、测试环境不稳定、服务启动缓慢、垃圾回收频繁、上云过程繁琐以及数据不一致等问题。
二、原则与目标
面对上述问题,构建一套中台化系统是其中一个解决方案,我们希望实现数据资源的高效整合,消除数据孤岛,提高数据处理效率,确保数据质量标准。在系统设计的初期阶段,我们首先从数据生产者和消费者角度出发确立了一系列核心目标:
数据生产者角度:
数据一致性:确保数据在各个环节保持一致性,避免偏差。
数据时效性:保障数据的实时更新,满足业务对数据的即时性需求。
系统健壮性:构建稳定可靠的系统架构,以应对各种运行环境和负载条件。
- 数据可追溯性:实现数据的全流程追踪,便于问题定位和历史分析。
- 数据可回滚性:提供数据版本控制,允许在出现问题时快速回退至稳定状态。
- 监控完善性:建立全面的监控体系,实时监控数据流和系统状态。
降低成本:通过优化资源配置,降低机器和存储的成本;简化系统维护流程,减少人力和时间的投入。
数据消费者角度:
优化消费流程:简化数据消费流程,提高数据处理的便捷性和效率。
- 接入方式简化:提供直观易用的接入方式,降低数据使用的门槛。
- 统一数据模型:建立统一的数据模型,确保数据的一致性和可理解性。
解决环境问题:解决不同运行环境下的数据同步的问题。
- 测试环境完善:提供完善的测试环境,确保数据的准确性和稳定性。
- 云服务便捷性:优化云服务接入,提高数据服务的灵活性和可扩展性。
提升服务性能:通过技术优化,提升服务的响应速度和处理能力。