社会化电商平台技术架构探索与实践

pele

贡献于2016-01-14

字数:0 关键词: 软件架构

社会化电商平台 技术架构探索与实践 演讲人:蘑菇街-小明 自我介绍 •  阮小明(花名:小明) •  蘑菇街-电商基础平台-商品 •  在蘑菇街工作近4年,目前负责蘑菇街商品中心、库存中心等基础体系的架构 工作,经历了蘑菇街从社交到电商架构演变的全过程。 •  Email:xiaoming@mogujie.com 目录 未来要做的事情 演进中产生的核心组件 架构演进之路 架构演进之路 导购时期 • 2011.2-2013.9 电商时期 • 2013.10-2015.8 社交+电商 • 2015.9-未来 导购时期(2011.2-2013.9) 业务架构 导购 UGC 技术架构 LNMP Redis Lucene 导购时期-业务架构 社交导购 图墙 小组 搭配 专辑 内容管理后台 商品审核 帖子审核 用户审核 前台业务: 后台系统: 基础应用 内容 用户 基础应用: 动态 图片审核 MySQL 导购时期-系统架构 Nginx+PHP-FPM Lucene Redis Master Slaver Nginx+PHP-FPM Nginx Proxy 代理层 WEB层 基础设施层 70% 30% 导购时期-所面临的问题 问题 •  问题A:Redis、MySQL容易出现抖动,但很难定位原因。 •  问题B:图片造成的性能问题 •  图片尺寸多样,提前生成会造成资源浪费。 •  全站内容图片为主,页面打开速度慢 解决方案 •  方案A: •  开始研发并引入中间层 •  针对中间层添加报警、监控 •  方案B: •  访问时动态生成图片 •  CDN 架构演进之路 导购时期 • 2011.2-2013.9 电商时期 • 2013.10-2015.8 社交+电商 • 2015.9-? 电商时期(2013.10-2015.8) 业务架构 电商 快时尚 淘世界 品牌馆 红人Bazzar 小店 商家工具 分销 社交 动态 技术架构 LNMP Linux Nginx MySQL PHP SOA 商品 交易 用户 店铺 中间件 Tesla Corgi Raptor Pegion 基础应用 电商时期-业务架构 商品 用户 交易 促销 业务平台 详情页 会员 购物车 订单 商家 店铺 蘑菇街 快时尚 品牌馆 淘世界 红人Bazzar 活动 运营后台 商品管理 活动报名 交易管理 投放管理 招商管理 客服CRM 评价 支付 小店 工具应用 IM ERP MySQL集群 电商时期-系统架构 Nginx+PHP-FPM(pool) Solr集群 Redis集群 Nginx+PHP-FPM(pool) Nginx Proxy 代理层 WEB层 基础设施层 LVS 负载均衡层 中间层 文件存储 Tesla(RPC) Raptor(数据中间层) Lurker 全链路监控 Furion(配置中心) Corgi(消息中间件) Sentry 监控系统 LogAgent 日志收集 30% 70% Chronos 定时任务 电商时期-问题 •  分布式框架引入,系统间的交互变复杂 •  RPC调用链路很长,定位问题难度很大 Lurker:全链路监控系统 电商时期-问题 •  经历了两次双11的考验,暴露出了不少问题: –  环境隔离不彻底,无法做全链路压测。 –  缺少自研的核心组件,出现问题时较难定位。 –  部分访问量大但内容更新不频繁的页面RT过高。 •  PHP与Java共存的问题 –  增加排查问题的成本。 –  增加不稳定的因素。 •  系统间耦合严重 –  应用耦合在一起,不利于定位问题。 –  各应用机器未拆分,无法细粒度降级。 电商时期-解决方案 •  SOA –  自研的中间件陆续投入生产环境 –  核心链路的业务逻辑服务化,从PHP迁到Java •  页面静态化 –  接入商品详情、活动页等页面 –  RT降低3-4倍 •  应用拆分 –  按业务拆分 –  按重要等级分组 –  硬件部署隔离 –  微服务 架构演进之路 导购期 • 2011.2-2013.9 电商期 • 2013.10-2015.8 社交+电商 • 2015.9-? 社交+电商(2015.8-未来) 业务架构 社会化 动态 相册 星座 … 电商 类目市场 自由市场 小店平台 技术架构 SOA 平台化 流程编排 模块组装 规则引擎 前后端分离 NodeJS MWP 基础应用 社交+电商-业务架构 商品 用户 交易 促销 平台应用 详情页 会员 购物车 订单 商家 店铺 电 商 服饰 美妆 红人Bazzar 活动 运营后台 商品管理 活动报名 交易管理 投放管理 招商管理 客服CRM 评价 支付 小店 通用工具 IM ERP 开放平台 母婴 家居 海淘 品牌 社会化 动态 相册 星座 大姨妈 预售 分销 快抢 MySQL集群 社交+电商-系统架构 Nginx+PHP-FPM(pool) 实时搜索 MoguCache Nginx Proxy 代理层 WEB层 基础设施层 LVS 负载均衡层 中间层 MoguBase Tesla(RPC) Pigeon Sentry Switch hulk Lurker ATS(静态化) MWP 无线平台 文件存储 平台化框架 平台层(进行中) 流程编排 规则引擎 模块组装 15% 85% LogAgent Raptor(数据中间层) Furion(配置中心) Corgi(消息中间件) 目录 未来要做的事情 演进中产生的核心组件 架构演进之路 核心组件 • 静态化 Cheetah • 全链路监控 Lurker • RPC框架 Tesla • 消息中间件 Corgi • 流式计算平台 Hulk • 数据变更通知平台 Pigeon • 配置中心 Furion • 数据库中间层 Raptor Cheetah 接入 业务 商品详 情页 活动页 首页 其它详 情页 200 60 50 20 0 50 100 150 200 250 RT(ms) 机器(个) 静态前 静态后 商品详情页数据对比 Cheetah-架构 LVS Nginx proxy ATS(Apache Traffic Server) Nginx+PHP-FPM Purge center dynamic purge stac(miss) Stac Dynamic 1、请求拆分 2、数据合并 Lurker架构图 Lurker实现细节 •  全局唯一的TraceId –  如:003D2D163E070B0A566E54CB000BB5A8 –  带有业务语义:来源、进程ID、时间戳等 •  日志埋点 –  PHP:修改PHP引擎 –  Java:AOP •  写日志性能问题 –  Java:异步写 –  PHP:先写内存,再定时拉取消费 •  数据存储 –  HDFS:全量数据,定期统计 –  HBase:存放统计结果或一段时间内的实时数据 –  Elastic Search:满足复杂查询(日均处理500G以上) 目录 未来要做的事情 演进中产生的核心组件 架构演进之路 未来要做的事 平台 化 前后 端分 离 自建 CDN 异地 多活 未来要做的事-平台化 业务 详情 页 购物 车 商品 管理 下单 促销 优惠 功能 支持 多渠 道 团队 共建 流程 编排 模块 组装 平台 级监 控 Detail SDK Adaptor 平台化(商品详情页) business 普通详情页 快抢详情页 虚拟详情页 预售详情页 Frontend Component Sku区块 店铺区块 评价区块 推荐区块 图文详情 Detail framework protocol deploy security monitor validator Detail Modules Sku shop rate menu common Base services 商品 交易 评价 店铺 用户 itemAdaptor shopAdpator rateAdatpor Detail Common Api itemApi shopApi rateApi Uls Validator Filter recommend 平台化(商品管理) 业务 PC发表流程 APP发表流程 PC有效性校验 PC参数组装 添加 队列 日志 PC异步处理 APP有效性校验 APP参数组装 添加 队列 日志 APP异步处理 流程编排 发表流程 有效性校验 参数组装 添加 队列 日志 异步处理 框架 protocol container security monitor validator 业务模块 基础服务 商品 交易 评价 店铺 用户 通用模块 日志 队列 安全 促销 校验 参数组装 查询 添加 修改 搜索 加入我们 •  电商基础平台(商品、交易、用户、促销、会员) –  更多框架的开发 –  更多平台的搭建 –  更多技术的引入 •  虚位以待,期待你的加入! –  联系我:xiaoming@mogujie.com –  微信:ryanism,或者扫我

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 6 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档

相关文档