作者 | 飞猪技术 余英
业务背景
自 7 月以来,随着飞猪深度融入阿里巴巴中国电商生态,淘宝首页增加飞猪的一级入口等,飞猪的整体流量实现快速增长。在众多营销玩法中,优惠券是承接核心用户流量、促进销售转化的重要方式。
飞猪全量优惠券发放业务均由权益发放平台(以下简称“权益平台”)统一承载,其系统性能直接影响用户体验和营销活动的效果。
随着双十一这一年度最大促销节点到来,权益平台面临前所未有的流量洪峰和技术挑战,尤以优惠券业务为核心:
流量爆发:业务高峰期的瞬时请求量较日常增长数十倍,特别是“飞猪消费券业务”场景,权益平台需稳定支持万级发放 QPS(每秒请求数);现有架构能力亟需翻倍升级以应对极端高并发压力。
资源压力加剧:当前链路的技术成本攀升至历史新高,资源消耗和运维压力显著加重。
如何在成本可控的前提下构建高弹性、高可用的权益发放系统?飞猪技术团队给出了创新解决方案。
模型与现有架构
权益业务模型
在双十一等大型营销节点,平台需应对多样化且复杂的业务需求,对权益发放能力提出了更高挑战。为此,飞猪权益平台的业务模型在奖品发放策略、发放灵活性和权益组合管理方面进行了深度设计,确保各类营销场景下的权益能够高效、精准地承载和分发。
发奖活动模型:统一管理奖品发放策略,支持灵活配置不同类型和数量的奖品,满足多元化营销需求;
权益组合能力:发奖活动可聚合多个权益组进行打包发放,单一权益也可复用于多个权益组,支持复杂营销组合和多样化业务定制,实现灵活配置与高效分发。
权益类型丰富、场景广泛:飞猪权益平台支持多类别权益的统一管理与发放,涵盖传统优惠券、飞猪里程、二方猫超券、三方微信零钱等多种形态。在高并发业务场景下,尤其是双十一大促期间,优惠券类权益发放最为密集,系统的性能优化和稳定性控制成为技术团队的重点攻坚方向。
现有权益平台架构
基于上述业务模型和持续增长的营销需求,飞猪权益平台在架构设计上采用了分层策略,显著提升了系统的扩展性和可维护性。
发奖中心:统一接入各类业务场景,灵活支持业务规则、限购策略与权益定价,为不同活动和营销需求提供一站式入口,并通过调用权益中心精确执行权益的发放。
规则中心:面向复杂业务需求,构建高扩展性的规则中心。依托 HSF 泛化调用技术,不仅实现发奖规则的灵活校验,还开放规则管理能力给其他业务系统,支持多团队协同共建,极大增强了系统的复用性和灵活性。
权益中心:专注于权益包装、发放、逆向处理及用户资产查询等基础能力,负责底层权益的精确管理及发放,保障发券流程的安全性与高效性。
整体而言,分层架构让系统功能清晰、扩展灵活,显著提升了复用性与稳定性,为平台复杂业务的高效运营提供了坚实技术支撑。
高并发场景下的架构挑战
尽管分层架构为飞猪权益平台带来了极大的灵活性和可扩展性,但在高并发业务场景下,也逐步暴露出一些架构层面的挑战:
远程配置存储压力与高延迟:发奖中心与权益中心各自拥有复杂的业务模型和丰富的规则配置,相关数据需频繁从远程存储(如 DB 或 Tair)读取,导致高峰期间响应延迟增加,同时对缓存集群造成较大压力。
规则中心外调放大,链路延迟增加:发奖中心的业务规则依托规则中心运行。对于单场活动下的多权益组,如果存在规则类型重复,难以合并处理,这将放大系统外调次数,进而带来链路延迟和资源消耗的提升。
冗余外调导致调用量激增:每发放一个权益组,都需在权益中心进行配置查询、库存预判和发放等三次外调;一个活动如果涉及 N 个权益组,实际调用量会膨胀至 N×3 次。现实业务中,95% 以上的活动采用“单权益组对应单权益”模式,加剧了这一问题。
数据冗余与存储成本攀升:发奖中心和权益中心均分别记录活动、权益组及权益的多层发奖数据,导致数据库写入压力不断增大,同时也带来了可观的存储成本负担。
优化方案
基于上述分析,团队从长远和现实两条线并行发力,一方面积极探索新链路架构,打造高性能、专属发券路径,并计划在未来三个月内完成上线;另一方面,在时间紧迫的情况下,制定并迅速落地短期方案,以确保今年双十一期间核心业务的稳定运行和系统资源的高效利用。以下将分别介绍这两大方向的优化措施
新链路探索:为高性能场景打造专属发券架构
针对当前高并发发券链路中暴露的问题,我们分析了底层权益供给系统的特性。飞猪内部及集团券的发放,依赖的底层系统具有接口稳定、支持幂等及 HSF 内部调用、高性能低延迟等优势。因此我们决定针对此场景,单独开发一条专属发券链路,以突破现有架构的局限:
精简规则校验流程
对于发券涉及的有限业务规则,方案优化为废弃规则中心,由发奖中心直接外调相关系统进行规则校验,并通过本地规则合并处理,既提升效率,又减少链路复杂度。
权益结构解耦、链路简化
舍弃权益组结构,发奖活动与权益实现直接关联,发奖中心直接完成发券操作,减少冗余系统调用,使整体链路更加高效简洁。
在此创新架构基础之上,进一步推进以下优化措施:
本地化配置管理
所有发券相关配置从远程 DB/Tair 迁移至本地内存读取,大幅提高配置获取速度,降低远程系统压力,有效缩短链路响应时延。
分桶库存管理能力上线
针对高并发库存扣减场景,将原有单 key 写入机制按需拆分为多分桶,实现更高的并发处理能力,突破库存写入瓶颈。
数据库扩容升级
发奖中心数据库实例扩容至一倍,大幅提升高并发场景下的数据读写能力
短期方案落地:快速应对双十一高并发流量
高并发四海通发券业务流程重构
针对 CPS 域外高并发发券场景,团队优先重构流程,将更多系统资源用于保障双十一主链路。以往用户在域外领券时,渠道方调用发奖中心“预发券接口”,发奖中心除保存单据外,还需同步调用权益中心进行库存扣减和单据生成。由于 QPS 高、单次请求涉及多个权益组,权益中心 DB 写入压力显著攀升。等用户回到飞猪后,再由发奖中心与权益中心协同完成最终发券。
这种“预发放 - 回端确认”模式虽然有效降低了集团发券的技术成本,但随着业务扩张,权益中心 DB 压力和成本不断加剧。为此,团队简化流程,域外领券仅在发奖中心保存预发券单据,不再冗余调用权益中心,待用户回端后再凭单据发券。此举大幅降低了权益中心流量和写入压力,简化了数据模型,显著提升系统韧性及资源利用效率。
双十一发券链路优化
与此同时,我们对双十一发券链路也进行了专项优化:
配置本地化,实时推送: 发券相关配置通过消息广播同步至各集群节点,实现本地内存实时读取,极大减轻远程缓存系统(Tair)压力,显著提升响应速度。
精简规则处理: 废弃原有规则中心,将同类型规则合并,减少外调次数和线程池消耗,提高并发处理能力,使发券流程更加高效顺畅。
库存操作优化: 精简库存预判流程,取消冗余调用,将库存操作由“两读一写”优化为“一写”,有效降低链路延迟与系统负载。
数据库扩容与冗余数据治理: 发奖中心数据库实例扩容至 32 个节点,显著提升读写性能。权益中心同步优化数据模型,去除冗余数据,有效减轻数据库负载。
通过短期高效的链路重构和专项性能优化,飞猪权益平台在双十一期间成功克服高并发业务压力,为核心发券需求提供了稳健支撑。
整体成果
此次优化后的发券链路顺利承接了双十一期间的高并发发券流量,助力业务目标圆满达成。随着业务发券流量持续攀升,系统在大流量压力下整体保持稳定,无出现故障或卡顿,充分验证了架构优化的成效。
在技术投入和资源运维方面,优化带来了显著效果:
权益中心数据库存储成本实现大幅降低,日均费用减少到了原来的 1/10 左右,数据库计算规格费用也同步降低,极大优化了技术投入结构。
容器资源节省明显,发奖中心容器数量减少了 50% 左右,权益中心容器数量也有效压缩。每月预计可节省大量资源费用,显著提升了整体资源利用率。
总结与思考
灵活性与极致性能的平衡
在大型分布式系统的实践中,“灵活性”与“极致性能”、“分层解耦”与“极简高效”常需要权衡。分层架构便于扩展、维护和复用,但在高并发场景下可能引入链路延迟和资源消耗。当业务对于实时性和系统吞吐提出极限要求时,单纯追求架构的高度解耦和模块化,反而可能成为性能和稳定性的瓶颈。
在面对各类场景的实践中,让我们深刻体会到:没有绝对正确的架构选择,只有最匹配实际业务场景的架构方案。
在平稳期和多元化需求下,分层、解耦、组件化能最大化系统的可维护性与灵活扩展;
在大促洪峰、极端并发时,则需合并链路、下沉流程,甚至牺牲部分架构优雅以保障性能和稳定。
在飞猪权益平台中,这两种架构形态并存,团队会根据业务场景灵活选择最合适的链路方案,确保既能应对复杂业务需求,也能保障关键时刻的性能与稳定
技术规划,让系统从容应对业务洪峰
系统能力的升级不是一蹴而就。早期团队已发现“规则中心外调压力”和“库存单点瓶颈”,也有“去规则中心”和“分桶库存”等优化构想,但受限于人力紧张和技术投入成本高昂未能及时实施。直到双十一流量洪峰到来,团队才紧急调整。一方面快速落地临时应急方案,另一方面也感受到因技术储备不足而付出的额外成本与压力。
这次挑战教会我们:技术规划需要提前布局,持续实现关键能力升级,才能让系统在高峰和突发场景下更加从容。
最后,本次双十一期间,飞猪团队通过短期链路优化,有效保障了高并发场景下发奖业务的稳定运行和高效资源利用。展望未来,团队将加速推进新架构的落地,不断夯实高性能、高稳定性的发券能力,为平台业务的持续增长提供坚实的技术支持。