设为首页加入收藏
  • 首页
  • 百科
  • 焦点
  • 热点
  • 休闲
  • 综合
  • 娱乐
  • 当前位置:首页 >百科 >兼顾可扩展、高并发与数据一致性:咸鱼优惠系统设计实践

    兼顾可扩展、高并发与数据一致性:咸鱼优惠系统设计实践

    发布时间:2025-05-12 11:24:31 来源:微博热评点赞 作者:综合

    说在上面

    在尼恩的兼顾(50+)读者社群中,经常碰到一个 非常、可扩非常高频的展高致性qq出售自动发货商城一个面试题,但是数据设计实践很不好回答,类似如下:

    最近,咸鱼系统这段时间,优惠好几个小伙伴都和尼恩来反馈:在笔试过程中,兼顾遇到了这样的可扩真题。

    其实,展高致性答案不是数据设计实践一成不变的。

    高并发、咸鱼系统高性能、优惠高扩充的兼顾案例,千千万万,可扩尼恩仍然结合行业案例,展高致性梳理一个最为全面、最为系统化的答案,

    这里有一个新的行业案例《兼顾可扩充、高并发与数据一致性:闲鱼鱼优惠系统设计实践》,尼恩从 面试维度,对这个方案,进行二次构建和梳理,现在把其做为参考答案,收入俺们的《》 V67版本

    供旁边的小伙伴参考,大家一定好好瞧瞧这个生产级别的答案。

    注:本文以 PDF 持续更新,最新尼恩 架构笔记、面试题 的PDF文件,请关注本公众号 【技术自由圈】获取,暗号:领电子书。

    本文原文:《兼顾可扩充、高并发与数据一致性:咸鱼让利系统设计实践》 原始方案的作者是淘宝的资深开发工程师泊垚 ,原文来自于 公众号,闲鱼技术(ID:XYtech_Alibaba)。

    下面的qq出售自动发货商城内容,是尼恩是结合自己的3立交构笔记,以及尼恩的3立交构知识体系(3立交构宇宙),在原文的基础上,做的二次构架剖析和创作。

    本文目录

    - 说在上面

    - 优惠券业务的场景剖析

    - 优惠券业务主要使用场景剖析

    - 优惠券场景的业务迭代

    - 优惠券的迭代剖析:

    - 闲鱼的个性化让利场景

    - 海量用户场景问题与挑战

    - 闲鱼的个性化让利中台的技术变迁

    - 阶段1:分解让利的基本要素,实现让利的基本抒发和估算

    - 分解让利的基本要素

    - 实现让利的基本抒发和估算的三个步骤

    - 闲鱼的让利中台的构架1.0版本

    - 阶段2:对让利对象的判断过程进行具象和加速

    - 闲鱼的让利中台的构架1.0版本存在两个问题:

    - 对让利对象的估算进行抽取和前馈

    - 闲鱼的让利中台的构架2.0版本

    - 阶段3:在让利对象制备的过程中,通过离线+实时的形式同步数据,保障数据一致性

    - 闲鱼的让利中台的构架2.0版本的问题

    - 闲鱼的让利中台的构架3.0版本

    - 闲鱼数据一致性方案的普适性

    - 闲鱼团队结语

    - 结合 闲鱼的方案,回顾后面的面试题:

    - 技术自由实现路径

    - 免费发放11个技术新约 PDF

    优惠券业务的场景剖析

    优惠券业务,在大量的场景中,会有使用。

    在我们日常生活中,常常会碰到下边这样的场景:优惠券业务是一种促销形式,通常由店家向消费者提供的折扣或则特惠让利,在推广和销售产品时具有重要的作用。

    优惠券业务主要使用场景剖析

    场景1:电商平台

    在电商平台上,商家可以通过发布优惠券来吸引更多用户选购商品,从而提升销售额。比如,在双十二或则618等大促销活动中,商家会发布各类优惠券,包括满减券、折扣券、免邮券等等,以达到促销的目的。

    场景2:实体店面

    实体店面也可以通过领取优惠券来吸引更多客户到店消费。

    比如,在商场或则饭店中,可以提供满减券、折扣券、赠品券等等,让消费者享受到更多的便宜,从而降低消费频次和消费金额。

    场景3:O2O平台

    在O2O平台中,商家可以通过领取优惠券来吸引用户使用其服务。

    比如,在订餐平台上,商家可以发布满减券、新用户专属券等等,以吸引更多的用户尝试其服务;在打车平台上,也可以发布优惠券来吸引用户使用其服务。

    场景4:品牌推广

    品牌推广也是优惠券业务的一个重要场景。

    比如,在新款上市或则品牌促销活动中,可以通过领取折扣券或则礼品券等等,来吸引更多用户尝试品牌产品或则服务,提高品牌知名度和美誉度。

    总之,优惠券业务在各个行业中都有广泛的应用,可以帮助店家提升销售额、增加用户黏性和忠诚度,同时也能为消费者提供更多的便宜和福利。

    优惠券场景的业务迭代

    如何提高优惠券的引流能力。答案是:设计一个个性化的优惠券系统,为不同的粉丝群体,设置不同的优惠券价钱。

    为了设计一个个性化的优惠券系统,闲鱼团队须要考虑以下几个方面:

    粉丝群体分类

    首先,需要将粉丝群体进行分类,比如根据岁数、性别、地域、消费习惯等等进行分类。这样可以更好地理解不同群体的需求和行为特点,有针对性地推出不同的优惠券。

    优惠券类型

    其次,需要确定不同的优惠券类型,比如满减券、折扣券、免单券等等。根据不同的群体需求,设置不同的让利力度和使用条件,例如对于高消费群体,可以设置更高额度的满减券或则更高折扣力度的折扣券。

    优惠券价钱

    最后,需要考虑不同粉丝群体的经济实力和消费能力,合理设置优惠券价钱。

    例如,对于大学生群体,可以设置较低的价钱,以吸引她们尝试新产品或服务;而对于高收入群体,则可以设置更高的价钱,以提高产品或服务的价值感。

    优惠券的迭代剖析:

    除此之外,可以通过数据剖析的方法,不断优化和调整优惠券系统,以达到更好的促销疗效和用户满意度。

    同时,还须要注意保障优惠券系统的安全性和有效性,例如设置使用年限、使用限制等举措闲鱼如何增加粉丝量,避免滥用和恶意操作。

    闲鱼的个性化让利场景

    闲鱼是一款二手交易平台APP,主要面向年青用户群体。以下是淘宝APP的用户剖析:

    年龄分布

    闲鱼APP的主要用户群体年纪在18-35岁之间,其中以25-30岁的用户占比最高。这个年龄段的用户更重视物品的性价比和实用性,同时也更擅于使用互联网和联通设备进行购物。

    性别分布

    相比于其他二手交易平台APP,闲鱼APP的用户男女比列较为接近,女性用户占比略高。这也反映出淘宝APP对男性用户的吸引力较大,可能与其简单易用、社区气氛浓郁等特征有关。

    地域分布

    闲鱼APP的用户主要集中在一二线城市,尤以广州、上海、北京等城市为主。这些城市的用户更重视生活品质和消费体验,对于二手商品的需求也更为广泛和多元化。

    用户行为特点

    闲鱼APP的用户一般具有以下几个行为特点:爱好交友、追求个性化、注重环保节能等等。他们除了使用淘宝APP进行二手交易,还会通过淘宝社区分享生活经验、交流兴趣爱好等,形成了一种类似于社交媒体的共享气氛。

    用户需求和偏好

    闲鱼APP的用户需求和偏好主要集中在以下几个方面:时尚时尚、个性化订制、品质保障等。他们一般会在淘宝APP上找寻一些奇特而实用的物品,包括衣服、配饰、家居用具等等,同时也关注买家的信誉度和商品质量。

    总淘宝APP的用户具有年青、多样化、社交化等特性,商家可以按照这种特性进行针对性的营销策略和产品服务优化,提高用户满意度和购买转化率。

    在淘宝上,针对淘宝交易中的 粉丝群体,提供了 专门的 优 策略,针对 粉丝订购和粉丝回购的优惠促销场景,提供了一种定向的/个性化的优惠价:

    虽然淘宝没有使用优惠券的概念,使用的让利价位。但是和 个性化的优惠券,本质是一样的。

    所以,闲鱼的让利中台的构架,对你们做 个性化的优惠券中台的构架,具有巨大的借鉴的构架。

    尼恩提示:技术自由圈3高社群的宗旨:聚焦研究 3高架构,研究成熟案例,研究生产案例, 为你们做构架提供方案支撑。

    海量用户场景问题与挑战

    闲鱼APP的DAU,注册用户数2.5个亿,日活跃用户数(DAU)为2900万左右。

    按照尼恩的3高架构理论,吞吐量峰值起码在30Wqps+。

    这么大的 海量用户场景, 在 优惠券估算、优惠券展示的过程中,存在巨大的技术困局:

    闲鱼的个性化让利中台的技术变迁

    闲鱼的个性化优中台的技术变迁, 分为三个阶段来实现:

    阶段1:分解让利的基本要素,实现让利的基本抒发和估算分解让利的基本要素

    一个让利主要描述了“谁对那个商品享受哪些让利”,拆解为三个要素就是:

    【优惠对象】+【优惠商品】+【优惠价钱】。

    在粉丝让利的场景下,优惠对象是指买家的粉丝、卖家的已购粉丝等,

    优惠对象 如何储存呢?

    一个买家的粉丝,可以被描述为“卖家ID_all_fans”的符号

    一个买家的已购用户,可以被描述为“卖家ID_buy_fans” 的符号 。

    这样淘宝团队可以得到一个让利规则的描述大致如下:

    【卖家A_all_fans】+【商品1234】+【18.88元】,

    对应的业务语义是:

    卖家A的所有粉丝,对于(卖家A的)商品1234,可以以18.88元的让利价钱。

    实现让利的基本抒发和估算的三个步骤

    以这条让利为例,当卖家B访问商品1234时,闲鱼团队会执行这样的一个过程:

    第一步:根据商品,查询让利规则

    查询商品1234上的让利规则,发现一条【卖家A_all_fans】+【商品1234】+【18.88元】的规则;

    第二步:分析 优惠对象的语义

    分析【卖家A_all_fans】表达的含意,表示的是店家A的全部粉丝可以享受让利;

    第三步:根据规则的语义,计算当前用户的让利价钱

    确定卖家B是否是店家A的粉丝,如果是,则以18.88元的价钱展示让利或则成交。

    闲鱼的让利中台的构架1.0版本

    为了实现了让利设置和估算的能力,闲鱼的让利中台的构架1.0版本,大致如下:

    阶段2:对让利对象的判断过程进行具象和加速淘宝的让利中台的构架1.0版本存在两个问题:

    优惠估算过程须要解析【优惠对象】这个符号背后所包含的业务语义,再由系统进行判别卖家是否符合条件,随着业务规则的升级,系统的会变的十分复杂,可扩展性差。

    每一次让利查询,都须要访问用户的关注关系、购买关系,这整个查询过程十分长,性能低下,当面对大流量时,系统会深陷截瘫。

    对让利对象的估算进行抽取和前馈

    为了解决这两个问题,闲鱼希望让利估算过程不再须要理解【优惠对象】的语义,判定过程中也不要再去查询各个业务系统。

    闲鱼团队发觉,优惠对象的判断过程都是在回答“用户是否属于某个群体”,于是,可以将这个关系进行具象,提前制备并储存上去。

    常见的技术手段中,表达一个用户是否属于某个群体有两种实现:

    一般情况下,第一种形式使用于群体较少可枚举的情况,第二种方案适用于群体较多的情况。在淘宝的实现中,使用了第二种方案。

    具体的举措是, 抽取出一个新的 实体:人群 ,并且提早进行 异步估算。

    闲鱼将用于描述让利对象的符号(例如“卖家A_all_fans”)作为人群的名称去定义一个人群。按照这个规则,平台为每位买家的不同分组各定义这样一个人群。

    闲鱼定义了人群的概念,并提供了一种实现人群的技术方案,这个构架中,人群在同时充当了“协议”和“缓存”的作用。

    人群和用户的关系,如何储存呢?

    方案一:可以通过redis string 实现,设计一个类似:${ user_A} ${ crowd_B} 的key写入redis。

    在查询时,查询 ${ user_A} ${ crowd_B} 这个key是否存在,就可以判断user_A是否属于crowd_B。

    方案二:可以通过redis set 实现,设计一个类似 ${ crowd_B} 的key写入redis, 然后把 ${ user_A} 的用户加入到set 。

    在查询时,查询 ${ crowd_B},是否在 ${ user_A} 的集合中,就可以判断user_A是否属于crowd_B。

    当然,上面仅仅是参考的案例,闲鱼设计中须要依照数据特点进行优化。

    如果读者有更好的方案,也可以来高并发社群,技术自由圈(原疯狂创客圈) 中交流。

    闲鱼的让利中台的构架2.0版本

    这时淘宝的得到的整体构架是这样的:

    在里面的构架中,顺带缓存了一下让利数据

    事实上,在淘宝基于中台的解决方案中,从一开始面临的就是这样的构架(实际中台的构架比这个会更复杂一些)。

    如果尝试从头演化了这个系统,也得到这样的一个方案。

    从一定程度来说,这也是构架的必然性.

    具体来说,当我们从业务的可扩展性、系统的性能角度从头进行推演的时侯,我们发觉最终会回到类似的构架上来。

    可以说,在特定的业务规模下,架构的演化有它历史的必然性。

    阶段3:在让利对象制备的过程中,通过离线+实时的形式同步数据,保障数据一致性淘宝的让利中台的构架2.0版本的问题

    在实际落地的过程中,如何将业务系统中的关注和订购关系同步到人群中,并保证数据的一致性。

    人群的同步整体上分为两个主要部份:

    这种结合的形式具有以下优点:

    但上述的两个过程中,会出现两类问题:

    闲鱼的让利中台的构架3.0版本

    针对上述的两个问题,分别给出了以下两个解决方案:

    通过上述两个解决方案,闲鱼实现了人群同步的最终一致性,最终实现的方法如图:

    闲鱼数据一致性方案的普适性

    这样的同步方案,对于搜索、推荐等大流量的导购场景,提供了充分的数据一致性保障。

    绝大多数情况下,数据实时一致,对于小机率出现数据实时同步不一致,通过全量同步保障数据最终一致,满足导购场景的一致性要求。

    此外,针对交易这样的要求强一致性但访问规模较小的场景,闲鱼团队通过下单前对人群同步的数据进行核实,保障数据的实时完全一致。

    闲鱼团队结语

    本文从三个部份介绍了让利的实现:

    在让利的实现过程中,直接面临了一个迭代了多年的让利中台闲鱼如何增加粉丝量,需要淘宝团队通过同步人群数据的方法进行接入。可能一开始会困惑为何须要执行一个复杂、高成本且会引入数据一致性风险的同步过程。

    但当淘宝团队从业务的可扩展性、系统的性能角度从头进行推演的时侯,闲鱼团队发觉最终会回到类似的构架上来。

    可以说,在特定的业务规模下,架构的演化有它历史的必然性。

    当然,也不是说这样的构架是适用于所有情况的,架构选型还是须要结合实际情况出发量身订制。

    结合 闲鱼的方案,回顾后面的面试题:

    以上的方案,可以作为你们的一个参考答案。后续尼恩会给你们结合行业案例,分析出更多,更加劲爆的答案。

    当然,如果你们遇见这类高并发的笔试困局,可以找来尼恩的 社群交流。

    技术自由实现路径

    尼恩N篇硬核构架 文章 ,帮你实现 架构自由:

    《》

    《》

    《》

    《》

    《》

    《》

    ....... 更多构架文章,正在添加中

    实现你的 响应式 自由:

    《》

    这是老版本 《Flux、Mono、Reactor 实战(史上最全)》

    实现你的 spring cloud 自由:

    《》 PDF

    《分库分表 Sharding-JDBC 底层原理、核心实战(史上最全)》

    《一文搞定:SpringBoot、SLF4j、Log4j、Logback、Netty之间混乱关系(史上最全)》

    实现你的 linux 自由:

    《》

    实现你的 网络 自由:

    《TCP协议解读 (史上最全)》

    《》

    实现你的 分布式锁 自由:

    《Redis分布式锁(图解 - 秒懂 - 史上最全)》

    《Zookeeper 分布式锁 - 图解 - 秒懂》

    实现你的 王者组件 自由:

    《》

    《》

    《缓存之王:Caffeine 的使用(史上最全)》

    《Java Agent 探针、字节码提高 ByteBuddy(史上最全)》

    实现你的 面试题 自由:

    免费发放11个技术新约 PDF

    • 上一篇:免费刷赞平台全网+最低价啊qq空间 - 快手少量刷播放500
    • 下一篇:免费自助下单平台QQ - 乐轩卡盟,快手刷赞网址微信支付

      相关文章

      • 啊豪代网刷 - 刷赞网站全网+最低价啊免费微信支付
      • 抖音自助平台业务下单最便宜(有没有抖音刷赞微信号)
      • 自助下单业务秒刷网(抖音买的赞会掉吗)
      • 抖音业务购买(抖音双击怎么取消不了)
      • qq空间刷访客量网站免费 - 1元10000qq名片赞
      • 抖音双击便宜网站秒到(抖音双击神秘人是谁)
      • 抖音赞在哪里买慢赞(抖音直播得到的赞多)
      • 抖音业务24小时在线下单免费(抖音双击和双击)
      • qq刷赞推广平台 - qq名片赞免费领取网址
      • 抖音涨粉刷钱(抖音抖音买双击浏览量)

        随便看看

      • 刷赞软件推广qq免费 - qq刷赞软件推广qq
      • 抖音免费1000领赞网址(抖音抖音关注双击)
      • 抖音买热度链接(抖音抖音刷赞是真的吗)
      • 抖音24小时自助刷业务(不要钱刷抖音赞)
      • 免费领快手播放量 - 小柯秒赞网站
      • 抖音买赞24小时自助平台(抖音双击接单app)
      • 抖音刷赞网站(抖音赞了又取消别人知道)
      • 涨关注最快的网站(抖音双击软件是真的吗)
      • 低价qq刷空间说说赞 - 免费刷QQ说说赞全网最低价,ks刷粉网站推广马上刷
      • 抖音自助平台业务下单最便宜(有没有抖音刷赞微信号)
      • Copyright © 2025 Powered by 兼顾可扩展、高并发与数据一致性:咸鱼优惠系统设计实践,微博热评点赞   sitemap