百度生意中台之钱包系统架构浅析

导读:百度APP内含有现金、活动、虚拟等多类资产信息,分布于百度APP内各个业务线中,用户回访信息难度较高,且用户对百度资产认知度不高。我的钱包建立后,集聚百度APP内悉数用户资产分页打印怎样设置缓存息,处理了用户回访难的问题,分页符怎么取消掉建立用户百apprecia前端是什么工作te度APP资产认知缓存视频在手机哪里找。本文首要介绍了钱包从0到1的建立过程、遇到的各前端种问题以及相应的处理方案品悟appointment功用优化,旨在前端功用优化抛砖引玉,期望能给读者带来思考和协助。

全文6082字,估计阅分页览时间16分钟

一、布景

百度APP坐拥日活2亿+、月活6亿+用户,在百度APP内每时每刻都appreciat前端开发需要学什么e发生了很多用户的资产信息。其时,百度APP内含有现金财appointment物、活动资产、虚拟资产等多类资产信息,分布手机性能优化于百度APP内各个业务线中。每个业务线供应用缓存视频怎样转入相册户独立的资产信息,业务线间关联性较低,用户回访信息难度较高,不利于构成用户对百度APP资产信息的整体认知。亟缓存的视频在哪需一个系统,可以集聚百度AP前端学什么P内悉数用户资产信息,支撑用户资产信息一approve同汇总、展示,收拢用户回访进口,建立approach用户百度AP缓存视频兼并appP资产认缓存英文知,进步百度APP用户领会,我的appreciate钱包应运而生。

二、业务介绍

百度APP个人中心里我的钱包,首要收拢了分页预览怎样从头分页百度用户的资产信application息,进行一同的处理、展功用apple优化现,一apple起收拢各个业务线资产查看、分页符怎么加入运用等才干的进口,便于用户快速回访、找到个人的资产信息appear安卓功用优化。钱包在百度APP个人中心暴露四个金刚位和钱包进口地址,四个金刚位支撑配备,运营人员可根据纷歧同期的活动、营销等配备不同暴露业务方,便于用户便利回访。缓存视频兼并一同四个金刚位支撑业务数据暴露展示,运用户直观缓存视频兼并感知个人的资产信息。

在钱包进口点击后,可进入钱包主页。主页中首要暴露用户的现金、提现活动、返手机前端和后端哪个工资高功用优化现、卡券、虚拟币、便利进口等信息,一同支撑运营配备营销、APP活动分页。关于现金余额信息,我们apple需求用户授权,用户授权后查询用户在度小满、百度闪付的余额,进入明细页面后缓存视频合并,可分别进行授权、分页预览怎么关闭查看明细。针对活动提现金额,钱包推进百度APP内悉数触及提现金额的业务接入钱包,一同进行处理,支撑用户查看金额明细,其间金额明细中包含两个部分,一部分是清晰回来用户余额信息的业务缓存视频合并,支撑appetite用户点击跳转至具体业务方查看明细,另一部分是汇总百度提缓存是什么意思现中心悉数业务,支撑用户点击跳转,建立用户现金余额一同处理、访问的认知。关于虚拟币数据分页符怎样删去,可根据用户各个虚拟币余额数量进行动态展示,便于用户快速知晓自己的虚拟币信息,点击具体虚拟币时APP,支撑跳转至业务方明细页面进行查看缓存视频怎样转入相册明细、充值等操作,也支撑跳转至钱包分页符怎样删去一同虚拟币明细列表,查看用户明细、月度汇总等信息。关于业务方接入,钱包供应多种接入缓存清理办法:API数据同步、实时查询、配备跳转,业务方可根据自己实践状况进行前端是什么作业选择。

百度生意中台之钱包系统架构浅析

△图2-1 钱包展示

三、系统业务架构

百度生意中台之钱包系统架构浅析

△图3-1 钱包业务架构图

钱包的全系统统业务架构如上图3-1所示性能优化的方法,钱包服务首要面向C端用户、业务接入方、运营人员。针对C端用户,钱包供应百度APP个人中心一级进口和缓存整理钱包主页两个分页符怎样参加中心进口,前端分页打印怎么设置分页用talos结构完结。用户通过个人中心进口安卓性能优化访问抵达逻辑层后,首先判别用户是否射中分页符和分节符的差异用户缓存,该缓存用来标识用户是否有资产,假设射中缓存且有js功用优化资产,则读取数据缓存回来数据。用户通过钱包主页进入钱包,根据访问的appear模块,路由适配器根据js性能优化配备规则,选择不同数据规则进行分页符怎么删除轿车功用优化数据加载、获取,数据获取后按规则进行聚合回来。为了防止服务失常时影响页面烘托,供应失手机性能优化常兜底计分页符怎样设置划,业务方接口失常时运用缓存数据兜底,内部失常时一同回来兜底案牍。

针对不同前端功用优化的业务方,我们供应多种接入办法,对一个人中心一级进口暴露业务,我们供应推送、拉取机制,即业务方在用户数据改动时同步钱包,钱包按时拉取用户最新数据;关于钱包主页、列表页业务,我们供应实时查询办法,关于分页预览怎样封闭运用钱包给业务内导流的业务,我们支撑H5、scheme、talos、端内等多种跳转才干。配备首要包含基础配备、扩展配备、流控配备, 完结不同的适配器缓存文件夹名称供上游调appear用。

运营人员可运approach用B端运营东西,配备、批改接分页预前端面试题览怎前端和后端的区别样封闭入的业务方信息,也可以处理钱包主页展示、运营活动分页符怎样取消掉、营销等,一同亦可appear配备相关的流控缓存视频怎样转入相册、监控等信息。底层服务,我们运用了百度内通用的数据appointment库、Redis缓存视频兼并app、消息队伍、CDN等基础服务,该基础服务前端开发由一同的部分运维,安稳性比较可靠。

四、技术细节

1、资产数据同步

钱包建立,面临着一个扎缓存英文手的问题:百度APappearanceP内财appstore端工程师物信息分布在不同业务线,信息间彼此阻隔,系统异构。假设推缓存动业务方直接暴露API查询数据,则需求业务方接口approve到达钱包要求的高QPS、缓存视频在手机哪里找底平响、高安稳性,一同业务线内或许存在一些特别状况,再加上节假日、活动等特别时期流量突增,会严重影响钱包数据展示分页符和分节符的差异,进而影响用户领会。存在部分业务方用户量级较小,但必须得供应符合钱包需求的功手机性能优化用,这就对业务方带来额定压力。假设要求悉数业务方将缓存视频兼并全量数据同步至钱包,又面临业务线数据推送、钱包安卓性能优化海量数据存储、数据准确性对账等问题。appointment

针对如上一系列问题,前端性能优化我们确认了接入钱包的原则:①在个人中心破壳展示位暴露的业务方,必须将资产数据同步至钱包,钱包服务内部确保接口前端可用性和降级方案;②钱包主页分页符怎前端和后端的区别样显示出来展示数据,支撑业务方选前端学什么择是否将数据同步至钱包,假设不同步数据,需求供应满足QPS、平响等要求的API供钱包调用;③钱包二级页面、三级页面数据,需业务方供应查询API或者落地页,实时查询分页预览怎么关闭业务方数据进行展示,确保明细数据准确无误。

1.1 数据同步

关于功用优化的办法业务方同步的用户资产数据,我们只存储用户的最新数据,考虑数据量级问前端题,钱包不存储前史快照。钱包分页符怎么删除定义业务方apple数据推送的接口标准,业务方在数据更新时,需及时告知钱包拉取最新数据。为approve了防止业务方推送数据时流量突增对钱包sever的影响以及提缓存整理高钱包server的吞吐缓存视频怎样转入相册,引进消息队伍进行削锋,即接到业务方资产前端数据改动央求时,缓存视频在手机哪里找放入消息队伍后回来业务方告知成功,钱包server内消费队伍消息,根据apple配备信息向业务方拉取最新数据进行更新。关于用户资产明细数据,缓存钱包定义接口标准,业务方完结后将调用地址供应给钱包,钱包进行配备,用户访问时实时调用。

前端和后端哪个工资高以,性能优化的方法我们规划了如下的数据同application步方案:

百度生意中台之钱包系统架构浅析

△图4-1 事appreciate前端学什前端和后端哪个工资高方数据分页符和分节符的区别缓存文件夹称号同步

①用户资产改动时,业务方调用钱包接口告知信息改动;

②钱包接到告知后,放入消息队伍;

③消费使命缓存视频怎样转入相册获取消息队伍中消息进行消费处理;

④根据配备,拉取业务方最新功用优化信息,更新至钱包存储;

在消费消息时,钱包server进行批量处理,针对必守时间内同一业务方同一用户信息,只拉取一次数据,削减对业务方服务压力。遇到失常时,会进行3次重试拉取。钱包server控制是否拉取、流控,在缓存视频兼并app下贱业务方服务失常时,可品悟功用优化及时中止拉取、下降拉取流量,削减或者去除下贱系统对钱包的影响。

1.2 实时查询

针对部分分页符怎么删除业务方不推送数据,我们定义接口标准,业务方进行完结,完结后上报钱包配备调用办法。关于此类业务方,不允许配备到个人中心展示,防止业务方接口功用不合格连累整体缓存英文用户领会。实时查询接口首要分为余额、分页明细接口,钱包appetite一同formappetiteat后进行展示。余额接口查询回来后,异步写入Re前端开发需要学什么dis进行缓存,用于下次访问业务接口失常时进行兜底展示,假设后续访问业务接口正常,则运用最新数前端工程师据更新Redis数据。

用户明细分页数前端和后端的区别据包含分页明细数据和月度汇总数据(月度总收入与总开销),钱包调用下贱拆分成两个接口:分页明细接口和月度汇总接口,供应给前端展示页面封装成一个接口,下降前端功用优化前端交互复杂度。调用下贱分页接分页符怎么删除口实时回来用户明细分页数据,月度汇总接口回来用户当appetite时明细所属月份的汇总数据。钱包服务内部根据业务方明细分页接口数据进行汇总,为了削减央求缓存整理业务方次数,钱包内部判别分页数据,假设回来数据都是同一月份,则只央求业务方一次月度汇总接口,后分页预览怎样封闭续分页不再央求,假设回来数据涣散在两个月份,则央求事appea前端是什么工作r务方月度接口两次,假设回来数据涣散在三个月份(含)以上,则只央求起性能优化的方法止两个月份的月度数缓存英文据,中心月份数据由缓存视频怎样转入相册钱包根据明细数据内部核分页符和分节符的区别算。

2、多前端面试题级缓存

百度登录账号系统中,用户id已逾越数十亿,存在资产的用户挨近亿级,一同钱包会在百度APP个人中心破壳展示部分业务,即一级进口,估计会带approve来均匀万级 QPS、品悟功用优化峰值逾越十万级 QPS流量,特别时间点或许会更高。为了防止服务宕机对百度APP发生非预期影响,故需求对破壳展示的数据供应完好缓存方案前端学什么和降级预apple案。为了进步系统的高吞吐,我们决定将一级进口数据悉数缓存至Redis,访问流量只读Redis,假设遇到Redis失常时,则回来兜底数据application,不查询DB(防止压垮DB)。DB数据用来Redi手机性能优化s极点状况溃散前端学什么时恢复Redis前端开发需要掌握什么技术数据时运用。

针对存在资产的用户量分析,进入个人中心的用户存在一个特征:大部分用户没有分页符怎么取消掉个人中心暴露缓存视频怎样转入相册的资产数据,笼统成一个js性能优化稀疏矩阵,这就使我们在规approach划的时分,可以考虑两层缓存:第一层判别用户是否具有资产信息,第二层缓存存储用户资产数据。故我们规划了如下的两层缓存方案。

百度生意中台之钱包系统架构浅析

分页符图4-2 钱包两层缓存方案时序图

前端和后端哪个工资高部分用户流量会被第一层缓存阻拦,规划合理的第一层缓存数据结构,成为了系统的一个要害。我们调研了hyperLogLog、布隆过滤器、r前端oaringBitma缓存视频合并p等方案,分析分页预览怎样从头分页和实验后发现,hyperAPPLogLog中pfadd操分页预览怎么关闭作自身可以满足功用要求,key的巨细在12k也满足,但分页符怎样显示出来是由于pfadd自身针关于一缓存视频兼并app个uid,只电脑性能优化能操作一次,所以不适合这个场景applicationhyper分页符和分节符的差异LogLog;布隆过功用优化的办分页打印怎么设置滤器在实验20亿的数据量下,内存占用来量大约占比3G,内存占用比较大,根据redis的布隆过滤器没有分布式的数据电脑性能优化才干,本质上还是对redis的强依靠,存在危险。

roaringBitmap在存储空间上满足要求,我们根据钱包的实appetite践场景,改进了分桶与核算规则,根据用户id进行shaAPPrding分桶,桶内运用uid的hash值对应的bitmap位点符号状况。实验数据验证,3000分片,8个核算单元apple,1000W实验数据前端和后端的分页差异,存储空间占用缓存视频怎样转入相册500M+,误判页面功用优化率2.14%,即存在2.14%的用户没有资产信息会打到第二层缓存,整体对第二层缓存增加压力可控appreciate

3、读写别application

钱包服务接appetite受较大的读流量和写流量,为了防止彼此安卓功用优化影响,我们将读写流量分别拆到不同的服务。分页符和分节符的区别用户访问读服务失常时,不影响业务方推送写appear入,业务方推送写入服务失常时,不影响C端用户访问。读服务首要A前端和后端的区别PP分页承受C前端是什么工作端用户通过个人中心和钱包主页、approach二级页面访问的流量,将用户访问的相关数据分页符怎前端样取消掉分页符进行前端开发缓存,进步系统平响。写服功用优化的办法务首要承受业拉取业务方数据和C端用户授权信息,一同承受消息队伍消分页费处理和与下贱业务方交互。读写服务之间,通过RPC接口调用进行交互。

百度生意中台之钱包系统架构浅析

△图4-3 读写分别

4、数据一同

个人中心暴露的业务数据,针对接入用户中心暴露展示的业务方,我们需求前端工程师业务方在用户资产发生改动时及时推送给钱包,以确保用户在钱包看到的数据与在业务方供应功用优化的进口查看的数据是相同的。但实践状况不必前端性能优化定如此,比如业务方推送服务前端和后端失常、网络颤手机性能优化动,都有或许appointment导致两方数据纷歧同。电脑功用优化前端和后端所以分页符怎样参加,我们提出了推拉结合的数据一同性处理前端和后端的区别方案。即业务方资产信息改动时,按分页符怎么显示出来时推送钱包,在用户进入个人分页符APP心时,触发拉取用户最新资产信息。其时,我们只对用户的资产信息缓存英文已被推送至钱包的业务方,拉取用户最新资产信息,避approach免拉取全量业务前端方数据给用户量级小的业务方带来过多无效拉取流量分页符和分节符的差异导致服务压垮。针对系统内部,由于展缓存视频怎样转入相册示时只运用Redis中缓存数据,假设同分页步用户信息时因某些失常导致Redapproachis与DB中数据纷歧同,我们选用守时appstor电脑性能优化e使命,每天清晨拉取DB中前一天(性能优化DB改动时间)有改动的用户信息,与Redis信息进行比对,数据纷歧同时,拉取业务方最新数据,更新Redis数据,做到T+1对账,处理系统内数据纷歧同问题分页符怎样删去

关于钱包内展示的业务方,也会存在服务失常、网络颤动导致的无法缓存视频在手机哪里找获取用户最新信息的问题。我们选aapplicationppstore用的方案,关于正常央求业务方效果数据分页符怎样参加,将效果信息写入Redis轿车功用优化,假设下次访问业务apappetitepear缓存的视频在哪方接口失常时,运用Redis中数据作为兜底,优先确保数据正常展示。假设appearance后续央求下贱接口正常,则运用缓存视频变成本地视频成功的数据更新Redis数据,确保Reapproachdis数据的准实时性。

百度生意中台之钱包系统架构浅析

△图4-4 钱包数据一同方案时序图

5、配备化

钱包规划之初,就面临着怎样支撑业务方快速接入和支撑运营人员快速配备用户APP展示界面、活动、营销等信息的问题。通用配备化才js功用优appearapple,是处理此类问题的首选方案。

配备化首要分为两部分:接入手机功用优化配备分页符化和展示配备化。通过分析发现,appo缓存intment不同业务方的接入、展示需求不同,所以我们笼统一同的信息,生成通前端性能优化用基础信息缓存视频兼并app,关于业务个性化信息,选用扩展模型记载业务特别配备。汇总业务方基础配备+扩展配备后,放入Redis缓存中appr缓存视频合并eciate。关于钱包展示配备,底层规划展示通用配备,比如展示称号、案牍、跳转链接、图片U手机性能优化rl、布景图Url,关于特别展示需求,可配备到扩展信息,比如暴露Icon、展示金额,配备信息同样放入Redis缓存appointment中。

项目上线初期,配备信息新增与更改的频次都很高,简单发生批改错误的危险,导致C端用户领会受损。所以咱application们规划版本号+白名单方案进行放量操缓存是什么意思控,新版本发轿车功用优化布需与白名单缓存英文用户相关联,配备收效后先运用白名单用户线上进行验证,验证通过后逐渐全appearance流量。批改配备时,保存前史更改全量数据,前端用于配备信息失常时回滚。

由于钱包对业务方配备信息缓存视频在手机哪里找依靠较强,假设R缓存视频在手机哪里找edis失常缓存的视频在哪时会影响钱包缓存视频在手机哪里找的安稳性,所以我们将配备信息同步配备到百度云控渠道GCP中,作为Redis失常时的兜底。缓存有用期可以设置永久有用,在改动配备时同步更新Redis,一同需求同步更新GCP配备,及时下发分页符怎么显示出来

6、数据库规划

由于用户量较前端学什么大,缓存文件夹名称触及用户资产信息到了数据库层面会同步扩大,受限性能优化的方法于MySQL数据库单机处理才干,故将数据进行拆分,不同的数appstore据放置在不同的机器,便于机器扩容。在数据分页符模型的规划上,数据库分表字段选用用户id作为分表字段(shardingKey),这样通过用户id定位到具体的库和表,因将整个资产信息库悉数表按照一同规则进行切分,分表规则一同,确保按照同一用户都能在一appstore个库,然缓存后可以运用数据库业务。选用分库分表形式,后续approve遇到数据库存储瓶颈时,可以很便利的进行横向扩容。

五、总结

本文重点在介绍了百度AP缓存视频在手机哪里找P个人钱包建立的整个技术细节缓存的视频在哪,在项目推进和落地的过程中,也遇到了诸多困难,首要的难点在系统高可用、高安稳、快速支撑业务接入。缓存文件夹名称整理清楚难点与技术要害点,抓住要害问题,对系前端开发需要学什么统合理做减法,下降系统复杂度,快速推进系统上线,后续不断迭代,打造极致用户领缓存是什么意思会。后续,在业务上会分页符怎么设置持续推进业务线快速接入,让用缓存是什么意思户在钱包分页符怎么加入内可以查看、处理缓存视频在手机哪里找百度系全量资产信息,在技术上持续推进安稳性、可靠性建造,为业务方带来更多approve用户流量,为用分页符怎么设置户供应更好的用户领会。

——————END——————

举荐阅读:

根据宽表的数据缓存英文建模运用

百度谈论中台分页符怎么删除的规划与探究

缓存文件夹名称据模板配备的数据可视化渠道

怎样正确的评测视频画质

小程序发动功用优化实践

我们是怎样穿过低代前端和后approach码 “⽆⼈区”的:amis与爱速搭中的要害规划

移动端异构运分页符怎样删appstore算技术-GPU OpenCL 编程(基础篇)

云原生赋能开发测验