张凯 - 58速运用户端及司机端小程序架构实战_W_第1页
张凯 - 58速运用户端及司机端小程序架构实战_W_第2页
张凯 - 58速运用户端及司机端小程序架构实战_W_第3页
张凯 - 58速运用户端及司机端小程序架构实战_W_第4页
张凯 - 58速运用户端及司机端小程序架构实战_W_第5页
已阅读5页,还剩52页未读, 继续免费阅读

下载本文档

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

文档简介

1、58速运微信小程序架构实战演讲人:自我介绍58速运后端平台负责人7年开发经验,涉及过微信公众平台、CRM、卡券系统等。 2016年6月加入58到家,17年8月开始负责速运后端平台的相关工作。 在到家,负责微信钱包的改版及58大促期间卡券系统的开发工作。17年底负责速运小程序的相关开发工作。 58速运-目录 58速运简介 小程序的意义 小程序架构实战 总结 ABCD 全球敏捷运维峰会 成都站覆盖中国及东南亚地区的同城货运平台 100个驻点城市,100万注册司机,累计服务货运用户过亿次 服务上线平均日订单突破20W企业服务上线与GOGOVAN合并 全球敏捷运维峰会 成都站 速运模式 为什么要做微信

2、小程序,意义是什么? 全球敏捷运维峰会 成都站什么是速运2.021去中心化新方向探索 小程现有架构 接入层新实现 H5iosandroid派单服务 订单服务 用户端服务 司机端服务 服务层 EScacheDB数据层 小程序功能 ABC1、商品售卖 2、等级 3、收藏司机 DEF 4、自主接单 5、推广码 .思路 ABC 1、避免大而全,功能拆分2、由易到难,逐步细化3、微服务架构 级别展示级别变更核心功能点 定期发券级别会员服务和用户等级 会员服务用户等级服务 定时任务消息队列延时消息 更新用户等级 如何解决高并发场景下数据不一致的情况? 双缓存清除法 全球敏捷运维峰会 成都站商品服务-场景

3、AB1、读多写少2、商品不可变 DC3、限购4、库存控制 商品服务 如何保证商品服务稳定? 商品及库存的缓存时效性怎么保证? 某些场景下,库存是否会影响整体性能? 商品服务 web商品服务 1、可变数据隔离 cachedb库存服务 商品服务 2、缓存 3、CAS乐观锁 司机GPS服务 PA1、写R多读T少 1PAR2、请T求量2大 PAR3、实时T性要3求高 司机GPS服务 1、mysql压力大 2、缓存无法搜索 3、如何提高处理效率 司机GPS服务 1、异步多线程 2、超时丢弃 3、批量入库 4、ES存储 订单服务现状 A1、老订单由于业务发展已经不适用 B2、老订单按前台业务分表,单表 C

4、3、前采用canal方式同步 D4、日增40w数据E5、前订单服务、订单es服务 全球敏捷运维峰会 成都站1、统一订单服务 订单服务 2、采用分库实现 订单服务 时间维度水平拆库拆表 DBEXT3DBEXT2DBEXT1DB3DB2DB1订单服务 20172018订单服务 订单服务-场景 1、用户订单列表、司机订单列表 2、抢单、订单详情 3、复杂查询 订单服务 如何确定分库方案? 时间维度? 优点: 进行中直接查最新库(时间最新) 缺点: 如何确定时间维度? 提前建好库?动态申请? 列表查询全部跨库 订单服务 如何确定分库方案? 水平拆分? 优点: 缺点: 横向扩展方便 如何解决跨库查询横向

5、扩展? 订单服务 场景分析: 85%的查询根据订单id10%的查询根据用户id4%的查询根据司机id1%的复杂查询 订单服务 订单id%dbcount 分库? db2db1db0orderid%8 如何解决列表查询? uidorderiduid1orderid1uid1orderid2uid1orderid3uid2orderid4uid2orderid5索引表 订单服务 用户id%dbcount 分库?如何解决订单id查询? db2db1db0uid%8 基因法 订单服务 基因法: uid%dbcount分库基因 40bit时间 9bit机器 9bit分库基因 5bit序号 订单id生成 如

6、何找所在库:(orderId 5)&(-1L (-1L dbBits)订单服务 web 复杂查询:使用es解决service db1db2es1es2订单服务 用户维度分库 订单id使用snowflake算法生成 订单中记录分库因子 复杂查询使用ES 订单服务 老旧服务的兼容性: 双写 读新,不存在读老历史数据迁移 推送服务改造 新增推送模式 1、一对一推送 2、一对多推送 总体架构图 全球敏捷运维峰会 成都站 服务治理 1、动态的机器管理 2、流量监控 3、访问耗时 4、抛弃量监控 监控平台 全球敏捷运维峰会 成都站Dtrack调用链 Dtrack调用链 1、全局跟踪 2、异常报警 3、清晰

7、的调用结构 4、整体效果监测 机器Itraceid:unique_idspanId: 0.1机器2web-application traceid: unique_id spanId: 0DBCacheDB-tool访问表1traceid: unique_id spanId: 0.1.1.2DB-tool访问表2traceid: unique_id spanId: 0.1.1.3Cache-Client traceid: unique_id spanId: 0.1.1.1ServiceAtraceid: unique_id spanId: 0.1.1serviceCProxyspanId: 0.3serviceBProxyspanId: 0.2serviceAProxyspanId: 0.1Dtrack调用链 技术点 1、全局唯一的traceid2、spanId描述调用层

温馨提示

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

评论

0/150

提交评论