into100沙龙-京东商城双十一技术实战

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!京东商城双十一技术实战京东商城研发部交易平台肖飞揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!商城研发整体架构1234梳理和预案几大招案例分享揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!worker调度框架ConfigRDBMSRedis硬件和网络设施服务器价格服务层基础层平台/组件虚拟化存储层JSFJMQ基础运维技术JDDLProxy编译部署自平台统一日志平台安全体系运行监控体系业务单品频道首页列表HBase异步并行调用框架搜索会员中心购物车结算移动端搜索引擎JSSMongoDBSolr购物车订单中心搜索推荐促销库存商品用户券卡管道OFC揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!商城研发整体架构1234梳理和预案几大招案例分享揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!架构优化存储提前扩容应用提前扩容JMQ扩容升级任务机制优化单IDC梳理配置优化DBCP/DruidJVMTOMCAT数据库接口超时硬件升级线下压测优惠券领取实时价格分片商品读写服务库存预占用户登录评价改版及升级线上压测下单链路:购物车/促销/商品/库存/优惠券/发票OFW泄洪演练:Promise、面单、预分拣其他优化代码慢SQLUMP监控完善Nginx防刷升级日志优化历史数据归档应急预案1000+预案逐条评审重点演练揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!基础系统简介揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!商城研发整体架构1234梳理和预案几大招案例分享揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!冗余复制、灾备切换流量隔离、流量切换异步化缓存扩容限流降级揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!冗余复制、灾备切换,高可用的不二法门高可用性多个层次组件共同决定的,一个应用的最终可用性计算如下A(x)=A_IDC(x)*A_ISP(x)*A_ROUTER(x)*A_Hardware(x)*A_APP(x)*A_DB(x)*A_Dependency(x)...•网络:多DNS、多IDC、多线、多CDN、冗余路由器、双链路、双网卡...•负载均衡:LVS集群、HAProxy集群、Nginxupstream...•应用系统、中间件:master/slave、master/master、分布式•数据库、缓存、存储:master/slave、分布式•磁盘:RAID-n•电源:...几大招:冗余复制、灾备切换揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!几大招:冗余复制、灾备切换无状态架构:不需要考虑状态复制、转移,可以快速切换。状态/依赖的分离举例。单品页动态化改造。复制•程序双写:一致性难以控制,逻辑复杂,幂等性要求。完全把控复制和切换时机。异构系统首选。•同步双写:数据一致性高,影响性能,不适合多个复制集。•异步双写:数据一致性差,性能高,适合多个复制集。举例:购物车双机房异步双写。•底层存储复制机制:一致性由底层控制,对应用端透明。程序和底层存储配合切换。灾备切换开关秒级揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!几大招:流量隔离、流量切换前提按照业务拆分系统网络流量隔离业务系统隔离秒杀系统隔离流量分组举例:商品基础信息读服务。对使用者按照重要程度、请求量、SLA要求等因素分级,将服务实例和存储分组:交易、生产、网站、移动、promise、ERP...读写分离举例:商品主数据服务。按照使用者重要程度、实时性要求等因素,将服务实例和数据库分组:ERP、POP、网站、大数据平台...揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!几大招:异步化页面异步化系统异步化•JMQ•状态机(worker)+DB•本地内存队列实时价格回源服务响应之后,通过BlockingQueue异步更新前端缓存•集中式缓存队列商品变更任务下发系统揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!几大招:缓存久经考验的局部性原理高并发的顶级大招分层•Nginx本地redis缓存、应用JVM缓存、集中式缓存举例:实时价格、库存状态服务一致性、延迟权衡缓存主节点负责写,和最重要的校验CPU不是瓶颈,网络才是举例:jshopredis缓存数据结构过大,打满网络流量;商品品牌全量列表,超过了JSF默认传输限制,无法建立缓存揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!几大招:扩容扩容前checklist部署、DB授权扩容后checklist配置更新、LB更新、接入日志、接入监控无状态应用水平扩容有状态应用垂直扩容:加内存、升级SSD、硬件。数据复制、切换。双十一库存状态服务扩容。有状态应用水平扩容:数据迁移或初始化618时用户评价服务宕机。solr分片扩容,数据重新初始化,不可用将近2小时。揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!几大招:限流限流原则影响到用户体验,谨慎使用区分正常流量和超预期流量限流标准来自压力测试、折算限流手段•Nginx层限流:自主研发的模块几个规则:账户,IP,系统调用流程•应用限流:减少并发数线程数读少限,写多限•DB限流连接数揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!几大招:降级降级需要有预案确定系统和功能级别,是否可降,影响如何降级需要有开关系统级降级结算页-成功页-订单中心-订单详情下游系统降级一次拆分暂停业务功能模块降级实时价格更新不及时数据库,保订单管道、生产,暂停统计相关。页面降级我的京东首页动态降级到静态非关键业务屏蔽购物车库存状态远程服务降级到本地缓存运费、采销岗揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!商城研发整体架构1234梳理和预案几大招案例分享揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!案例分享:实时价格Nginx+LUA+本地redis缓存热点商品价格回源到价格计算服务,异步更新前端热点缓存揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!案例分享:实时价格价格源站价格计算价格计算价格计算回写应用价格计算价格计算价格计算价格更新消息队列实时单元数据应用获取任务回源更新获取最新价格(回源)更新价格(回写)后端应用价格调整促销相关主动更新价格请求揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!案例分享:秒杀系统独立、定制的购物流程。将突发流量与正常流量隔离,避免对正常下单流程的影响;使用nginx防刷模块对恶意流量和机器人流量进行有效阻挡:验证码、加密cookie、页面流程控制;商品、库存、价格、促销、交易等系统,单独为秒杀系统部署特殊组进行服务。揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!案例分享:秒杀系统一下数据为单台nginx数据,一共4台nginx服务器,所以实际数据为以下数据4倍单品页访问次数20561351总访问量次数14438009nginx活跃连接数峰值51720按业务流程统计内容url访问次数访问成功比例被拦截比例入口页/captcha.html311577011.90%88.10%请求验证码地址/validate/getCaptcha155645032.20%67.80%请求验证码/miaosha57864199.80%0.20%提交验证码/validate/goToOrder297334211.00%89.00%结算页/seckill/seckill.action28256879.80%20.20%提交订单/seckill/submitOrder.action27794172.70%27.30%揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!片尾广告Thanks!京东商城交易平台招募两类架构师:•业务精通•定制各种轮子欢迎投递:xiaofei@jd.com揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!欢迎关注into100沙龙账号揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功