首页 > 其他分享 >营销权益平台春晚技术探究| 京东云技术团队

营销权益平台春晚技术探究| 京东云技术团队

时间:2024-05-07 15:36:03浏览次数:16  
标签:权益 库存 链路 系统 技术 用户 春晚 校验 京东

一、引言

在当前快速发展的互联网环境中,许多企业和服务都面临着高并发场景的挑战。随着用户规模不断增长,对于同一时间内大量用户请求的处理能力、系统性能、稳定性和容错性的要求也日益提高。高并发场景对系统架构设计、数据库设计、缓存策略、自动化运维、安全防护、成本、效率等方面提出了重大挑战,需要综合考虑各项因素并采取有效的措施。本次分享将结合春晚案例,剖析如何应对高并发问题,以确保系统的稳定性和可扩展性。

二、背景

营销权益平台在2024春晚期间,主要承接抽奖场景支付券的投放和裂变互动场景主态、客态钱包余额的发放。为晚会活动提供科技券权益验资、权益领取、权益查询能力。

 


 

1、权益验资流程

验资的主要功能是判定用户是否可以领取指定权益,当用户点击“开始刮奖”时零售UMC会调用验资接口,批量获取当前用户可领的权益。该过程会对运营投放的每个活动进行基础信息的校验、库存校验、领取规则校验、资格校验、风控校验等,最后返回用户可领的权益集合,具体流程如下:

 


 

2、权益发放流程

验资流程结束后,零售umc会拿到用户可领的所有权益,包含支付券、红包、东券、实物等,umc会根据策略下发本次抽奖用户具体命中的权益给SOA,SOA发起权益的领取操作,如命中支付券,此时会调用权益发放接口,权益发放接口会对当前要领取的活动进行基础校验、规则校验、风控校验、完成以上校验后,进行活动库存扣减、用户资格扣减、权益入账(写库),并返回最终的领取结果。

 


 

三、挑战

1、成本与服务

•既要考虑成本,又要考虑服务质量,还要考虑业务创新,在这种复杂的情况下,成本与服务的平衡成为架构设计中最大的挑战。

2、三高保障

•同时满足高性能、高并发、高可用要求,中间件、数据等依赖服务达到瓶颈,加机器也不能解决的问题,如何破局?

四、实现

1、限流

合理的限流对系统稳定性和资源投入起到至关重要的作用,限流值的评估直接影响到系统复杂度、成本效率、业务达成、以及用户体验。

限流评估优先级原则:用户体验>业务目标>系统压力(系统复杂度、成本效率)

1)基于业务需求分析

•明确业务玩法:C端视角的交互流程,主要考虑限流发生时对用户体验的影响。 •明确业务目标:春晚期间业务计划发放的券总数。 •活动流量特点:口播轮次及时间的确认,对于峰值的趋势预测,考虑舍弃峰值流量对目标达成的影响。

2)基于历史数据分析

以数据驱动,参考营销日常、大促、跨晚、会场活动等发放数据情况,结合业务目标,评估合理的限流值。

 


 

2、重缓存

使用缓存可以显著提高系统性能,降低数据源压力,改善用户体验,是保障系统高性能的有效方式。营销系统大量使用本地及redis缓存,缓存架构如下:

 


 

本地缓存的构建的两种方式:

•一级缓存:本地+mysql+推模式更新。 •两级缓存:本地+r2m+mysql+推模式更新。

两种模式的选取,需要考虑集群规模、数据大小、数据库性能、等因素(空间和时间的权衡)。

3、合并

合理的业务流程设计,将能够并行处理的逻辑通过多线程进行并行处理,通过批量请求的方式降低网络开销减少IO操作,保障系统性能的同时能有有效保护下游系统。

 


 

4、拆分

拆分是比较常用的解决方案,是一种空间换时间的思想。库存热点问题在本次春晚活动中尤为明显,通过合理的拆分得到解决。以下介绍营销系统使用的库存管理方案:

1)传统方式(日常领券链路)

读链路使用get命令,写链路使用lua实现库存控制,理论可支持(读+写)共4w/s。流量小,一致性要求高的场景推荐使用。

优点:简单、性能有保障、强一致性。

缺点:单节点并发瓶颈。

 


 

2)本地库存方式(收银台链路)

读链路预取库存在本地进行库存扣减,写链路使用lua实现库存控制,写最高2w,读理论无上限。一致性要求强,库存量级大、读多写少场景使用。

优点:读链路可实现横向扩展、强一致性。

缺点:库存较少时可能会产生单节点瓶颈。

 


 

3)分片库存(春晚版本)

读链路通过本地库存标识判断是否库存充足,写链路按照pin对库存进行分片,通过hashtag访问库存,弱一致性,库存量级大、读多写多场景使用。

优点:读写高并发。

缺点:弱一致性,少卖,库存和流量的量级要求要达标。

 


 

5、隔离

隔离在架构设计中能够提高系统的安全性、故障隔离能力、性能保护、管理便捷性,是设计健壮系统架构的重要手段。

•同机房调用:jsf、jmq、r2m尽可能做同机房调用。春晚期间jmq跨零售和金融机房,与Jmq运维在金融机房搭建服务,降低跨机房耗时。 •数据隔离:对用户数据、系统数据进行隔离、营销系统将用户资格数据、用户权益记录、用户领取记录分别存储,同时针对春晚券状态单独存储。 •读写分离:对核心r2m、cds做读写分离,以降低主节点压力,提升系统性能。 •业务隔离:对异步落库消息实现业务隔离,避免春晚期间券发放消息积压导致线上其他活动券到账延时。

 

 

 

五、总结

高并发场景下的解决方案往往需要综合考虑系统架构、技术选型、性能优化和容量规划等方面的问题,需要对业务和系统的整体情况有较深入的理解和把握。另外,高并发下的系统设计不是一成不变的,需要不断地根据业务发展和系统性能进行优化和调整,以适应不断变化的需求。同时,高并发场景下的系统设计需要注重容错和安全性,充分考虑异常情况下的应对措施,保障系统的稳定性和可靠性。综上所述,高并发场景下的系统设计需要综合考虑技术、业务和运维等多方面因素,是一个具有挑战性但又充满乐趣的工作。

 

作者:京东科技 谢凌东

来源:京东云开发者社区

标签:权益,库存,链路,系统,技术,用户,春晚,校验,京东
From: https://www.cnblogs.com/Jcloud/p/18177435

相关文章

  • 企业IT架构治理之道| 京东云技术团队
    一、什么是架构和治理1.1架构的起源开篇还是要说说大家理解的架构,何为架构,架构跟我们的工作和生活有什么关系。英文Architecture本源来自于拉丁语,最早起源于建筑领域,建筑是文明社会一个重要的标志,同时也是人类社会最早形成完善理论和经验的领域。人民在长期的生产生活中,乐于将......
  • 一站式生活新体验:可视化技术让公寓商场综合楼焕新生
    在繁忙的都市生活中,我们都渴望找到一处既能满足居住需求,又能提供便捷购物体验的理想之地。如今,这一梦想已不再是遥不可及,随着科技的飞速发展,3D可视化技术正逐渐走进我们的生活,为我们带来前所未有的居住和购物新体验。山海鲸可视化搭建的公寓商场综合楼模型 一站式便捷生活可......
  • SD-WAN,即软件定义的广域网,是一种创新的网络技术
    SD-WAN,即软件定义的广域网,是一种创新的网络技术,它通过利用SDN(软件定义网络)技术,实现了企业网络的快速组网和灵活配置。这种技术可以自动配置终端路由器,使得企业能够轻松地搭建起覆盖传输专线、移动网络、互联网等任何网络的广域网。SD-WAN的核心优势在于其集中管理和智能调度能力......
  • 技术方案
    主要包括如下几部分1、背景2、目标3、整体设计架构图(整体架构、系统分层架构、微服务架构)流程图4、详细设计5、关键接口文档6、排期......
  • 透视钢铁巨人:炼钢厂可视化技术的力量
    一、什么是炼钢厂可视化?炼钢厂可视化,简而言之,就是将炼钢生产过程中的各项数据、流程通过图形化、图像化的方式直观展示出来。这不仅能让工作人员更加清晰地了解生产状态,还能大大提高生产效率和安全性。山海鲸可视化搭建的炼钢厂可视化模型 二、可视化技术的神奇之处实时监......
  • 电子合同一站式解决方案 | 京东云技术团队
    一:平台定位和优势(为什么建)1.1、平台定位由京东科技业务中台主导发起,联合法律部、安全部共建,旨在为业务提供电子合同管理的中台化能力,当前已形成一套成熟的“全线上、全生命周期电子合同管理系统”,可提供包括合同模板创建、模板预览、合同生成、合同预览、合同签署、合同记录查询......
  • 百舸实践之「埋点数据深度治理与应用」 | 京东云技术团队
    一、背景随着公司和业务的不断发展,百舸平台也从单一内容投放转向了以流量和数据为基础的流量运营模式。在这个转变过程中,数据深度治理与应用的重要性尤为凸显,在数据深度治理过程中,需要将用户行为数据、投放素材以及投放效果三者紧密的串联起来。数据深度治理和应用,一方面满足了当......
  • 视频压缩技术简介
    H264压缩技术H264的基本原理其实非常简单,我们就简单的描述一下H264压缩数据的过程。通过摄像头采集到的视频帧(按每秒30帧算),被送到H264编码器的缓冲区中。编码器先要为每一幅图片划分宏块。H264采用的核心算法是帧内压缩和帧间压缩,帧内压缩是生成I帧的算法,帧间压缩是生成B帧......
  • 在Linux中,什么是虚拟化?并且列出常见的虚拟化技术。
    在Linux中,虚拟化是指创建虚拟版本的物理计算机系统(如硬件资源和操作系统)的技术。虚拟化技术允许单个物理机器运行多个操作系统,每个操作系统都有自己的虚拟硬件环境。这种技术可以提高资源利用率、灵活性和效率,并且可以简化管理任务。1.虚拟化的基本概念:虚拟机(VM):虚拟化的基本......
  • 在Linux中,什么是集群,并且列出常见的集群技术。
    在Linux环境中,集群指的是由多台计算机(称为节点)通过高速网络连接构成的一个松耦合或紧耦合系统,这些计算机协同工作以实现特定的目标,如提高计算能力、增加服务可用性、实现负载均衡或者增强数据存储的可靠性。Linux集群可以被设计来满足不同的需求,例如高性能计算(HPC)、高可用性(HA)......