物流行业微信小程序架构实战课件_第1页
物流行业微信小程序架构实战课件_第2页
物流行业微信小程序架构实战课件_第3页
物流行业微信小程序架构实战课件_第4页
物流行业微信小程序架构实战课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

58速运微信小程序架构实战58速运微信小程序架构实战1目

录58速运简介A小程序的意义B小程序架构实战C总结D目录58速运简介A小程序的意义B小程序架构实战C总结D2覆盖中国及东南亚地区的同城货运平台100个驻点城市,100万注册司机,累计服务货运用户过亿次2018年速运2.02014年2015年2016年服务上线企业服务上线2017年平均日订单突破20W与GOGOVAN合并覆盖中国及东南亚地区的同城货运平台100个驻点城市,100万3速运模式速运模式4为什么要做微信小程序,意义是什么?为什么要做微信小程序,意义是什么?5什么是速运2.01 去中心化2新方向探索什么是速运2.01 去中心化2新方向探索6androidios订单服务派单服务接入层服务层用户端服务数据层DBcacheES序小程新实现H5司机端服务现有架构androidios订单服务派单服务接入层服务层用户端服务数7小程序功能1、商品售卖A2、等级特权B3、收藏司机C4、自主接单D5、推广码E...F小程序功能1、商品售卖A2、等级特权B3、收藏司机C4、自主8思路1、避免大而全,功能拆分A2、由易到难,逐步细化B3、微服务架构C思路1、避免大而全,功能拆分A2、由易到难,逐步细化B3、微9会员服务和用户等级核心功能点级别展示定期发券级别特权级别变更会员服务和用户等级核心功能点级别展示定期发券级别级别10会员服务用户等级服务定时任务消息队列延时消息会员服务用户等级服务定时任务11更新用户等级如何解决高并发场景下数据不一致的情况?双缓存清除法更新用户等级如何解决高并发场景下数据不一致的情况?12商品服务-场景A1、读多写少B2、商品不可变C3、限购D4、库存控制商品服务-场景A1、读多写少B2、商品不可变C3、限购D4、13商品服务如何保证商品服务稳定?商品及库存的缓存时效性怎么保证?某些场景下,库存是否会影响整体性能?商品服务商品服务如何保证商品服务稳定?14商品服务web商品服务cache库存服务db1、可变数据隔离2、缓存3、CAS乐观锁商品服务web商品服务cache库存服务db1、可变数据隔离15司机GPS服务PART11、写多读少PART33、实时性要求高PART22、请求量大司机GPS服务PART11、写多读少PART33、实时性要求16司机GPS服务1、mysql压力大2、缓存无法搜索3、如何提高处理效率司机GPS服务1、mysql压力大2、缓存无法搜索3、如何提17司机GPS服务1、异步多线程2、超时丢弃3、批量入库4、ES存储司机GPS服务1、异步多线程18订单服务现状A1、老订单由于业务发展已经不适用B2、老订单按前台业务分表,后台单表C3、前后台采用canal方式同步D4、日增40w数据E5、前后台订单服务、订单es服务…订单服务现状A1、老订单由于业务发B2、老订单按前台业务C319订单服务1、统一订单服务2、采用分库实现订单服务1、统一订单服务2、采用分库实现20订单服务订单服务20182017…时间维度订单服务DB1DB2DB3水平拆库拆表DBEXT1DBEXT2DBEXT3订单服务订单服务20182017…时间维度订单服务DB1DB21订单服务-场景1、用户订单列表、司机订单列表3、后台复杂查询2、抢单、订单详情订单服务-场景1、用户订单列表、司机订单列表3、后台复杂查询22订单服务如何确定分库方案?时间维度?优点:进行中直接查最新库(时间最新)缺点:如何确定时间维度?提前建好库?动态申请?列表查询全部跨库订单服务如何确定分库方案?时间维度?优点:进行中直接查最新库23订单服务如何确定分库方案?水平拆分?优点:横向扩展方便缺点:如何解决跨库查询横向扩展?订单服务如何确定分库方案?水平拆分?优点:横向扩展方便缺点:24订单服务场景分析:85%的查询根据订单id10%的查询根据用户id4%的查询根据司机id1%的后台复杂查询订单服务场景分析:25订单服务订单id%dbcount

分库?orderid%8db0db1db2uidorderiduid1orderid1uid1orderid2uid1orderid3uid2orderid4uid2orderid5如何解决列表查询?索引表订单服务订单id%dbcount分库?orderid%8d26订单服务用户id%dbcount

分库?uid%8db0db1db2如何解决订单id查询?基因法订单服务用户id%dbcount分库?uid%8db0db27订单服务基因法:uid%dbcount分库基因订单id生成40bit时间9bit机器9bit分库基因5bit序号如何找所在库:(orderId

>>

5)&(-1L

^

(-1L

<<

dbBits))订单服务基因法:uid%dbcount分库基因订单id生成428订单服务复杂查询:使用es解决webservicedb1db2es1es2订单服务复杂查询:使用es解决webservicedb1db29订单服务用户维度分库订单id使用snowflake算法生成订单中记录分库因子复杂查询使用ES订单服务用户维度分库订单id使用snowflake算法生成订30订单服务老旧服务的兼容性:双写读新,不存在读老历史数据迁移订单服务老旧服务的兼容性:31推送服务改造新增推送模式1、一对一推送2、一对多推送推送服务改造新增推送模式32总体架构图总体架构图33服务治理1、动态的机器管理2、流量监控3、访问耗时4、抛弃量监控服务治理1、动态的机器管理34监控平台监控平台35Dtrack调用链Dtrack调用链36Dtrack调用链1、全局跟踪2、异常报警3、清晰的调用结构4、整体效果监测Dtrack调用链1、全局跟踪37机器2机器Iweb-applicationtraceid:

unique_id

spanId:

0

serviceAProxyspanId:

0.1

serviceBProxyspanId:

0.2

serviceCProxyspanId:

0.3

ServiceAtraceid:

unique_id

spanId:

0.1.1"traceid:"unique_idspanId:

0.1"Cache-Clienttraceid:

unique_id

spanId:

0.1.1.1"DB-tool访问表1traceid:

unique_id

spanId:

0.1.1.2"DB-tool访问表2traceid:

unique_id

spanId:

0.1.1.3"CacheDB技术点1、全局唯一的traceid2、spanId描述调用层级3、数据采集-flumeDtrack调用链机器2机器Iweb-appli

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论