- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
蘑菇街数据平台架构实践-GITC
展开查看详情
1 .蘑菇街数据平台架构实践 天火 @ 蘑菇街
2 .Agenda
3 .关于蘑菇街 ABOUT US 中国最大的女性时尚社交电商平台 。 成立于 2011 年,总部位于浙江杭州, 目前( 2015.Q3 )拥 有 1.3 亿注册用户, 日活跃用户超过 8 00 万, 2014 年全年实际交易额超过 36 亿元, 团队总人数超过 800 人 。无论在用户规模上,还是交易额上,都已经成长为中国最大的女性时尚社交电商平台。 2011 蘑菇街网站以消费者分 享 社区 形态正式上线 率先推出移动端 App 6 个月内完成用户数从零到一百 万的增长 完成 A 轮千万级融资 2013 在线 交易体系完成 , 成功转型女性垂直电商 平台 2012 商业模式获得市场首肯, 成为国内最大的导购网站 用户数达到 6 00 万 完成 B 轮融资,估值 2 亿 美元 2014 完成 C 轮融资,估值 10 亿 美元 发布“我的买手街”品牌战略, 深受用户青睐 构建支付与金融业务平台 广州办事处成立,进一步扩大招商 2015 开放全品类招商,进一步扩展用户群体 北京研发中心成立,加强技术储备 移动端商家 App “小店”上线 达人经纪平台“ UNI 引力”上线 签约 “国民男神”李易峰为品牌 代言人 开启社会化电商新时代
4 .数据平台现状 服务的对象 平台支持: BI / 算法 / 广告 / 搜索 ,数据支持:运营部门 主要涉及技术 HDFS / YARN / HBASE / ZK / DB / kafka : 基础服务设施 Hive / Presto : 离线开发展示查询 Storm / Spark : 各类实时计算业务 , 各类数据挖掘业务 各种管理配置,资源调度,系统监控,计算服务平台 集群业务概况 数据规模 2~3 PB 离线批处理集群日处理作业 2W +,数据处理量 80 ~ 100TB 实时计算集群日处理数据规模 8~10 TB
5 .平台建设面临的问题和目标
6 .CAPTURE & Transfer
7 .数据采集 : 页面埋点跟踪系统 目标 精确收集用户浏览行为链路,便于后续分析挖掘。 URL / Refer 有什么问题? 基本思想 为每一个链接跳转行为附加定位参数 参考 原型 淘宝 SPM 定位参数格式 : a.b.c.d.e 本质是用层次化的参数,定位页面访问来源 便于后续用 标准化 的处理流程进行汇总统计
8 .PC 端行为示例 采集:参数值透过 URL 传递 refer / 来源 / 页面自身 分析: b/c/d 字段具体定位来源 e 字段 辅助 串接浏览链路 商品详情页 1 来源: 1 .xktCZQLU._items.1. ggwvgY 自身: 1.po63RQbx .0.0. ttXEZT 商品详情页 2 来源: 1 .xktCZQLU._items . 3 .ggwvgY 自身: 1 .po63RQbx .0.0. ciaK11 图墙页:裙装 来源: 1.BtWxRgdy.uAmaAOwO.91.NCc4iD 自身: 1.xktCZQLU .0.0. ggwvgY 首页: www.mogujie.com 来源:网址直接输入 自身: 1.BtWxRgdy .0.0. NCc4iD
9 .应用场景和实现 应用场景 站内页面,资源投放系统,站外引流等 例如站外引流 服务类型,渠道分类,具体渠道,投放 ID ,校验 信息 系统难点 流程标准化 PC / WAP /安卓/ IOS … 不同业务系统的合理适配接入 开发维护代价 减少业务侵入,保证可维护性 数据及时性和准确性验证 APP
10 .What TO DO ?
11 .我们当前的作业调度系统 支持基于时间和依赖的调度逻辑 支持作业优先级,负载流控 支持 Hive / Python / MR / Java 任务, Shell 任务 作业超时监控报警 历史执行纪录查询 任务依赖拓扑关系查询 每天调度 4000+ 作业
12 .控制后台界面
13 .然而并不够好 天为周期的固定计划作业处理逻辑。
14 .开源调度系统 参考 Oozie / azkaban 相对出名,偏重固定计划的作业流 管理配置简陋/繁琐,要做到完善的系统集成,改造成本高,各种监控,流控,异常处理等工程应用方面的功能缺失较多。 Chronos - airbnb 动态 Plan ,调度逻辑依赖 Mesos ,架构简洁。功能相对简单 ,开发 余地小。 Zeus / Zeus2 - 淘宝 架构也比较完整,貌似无人维护状态,代码逻辑复杂,稳定性未知,工程化辅助工具需要不少开发工作量。
15 .系统重构目标 支持动态执行计划, 细粒度 ,不等 周期任务依赖 等 主要组件无状态化 ,以便于服务的快速恢复 支持对接 不同类型 后端执行系统,适配流控 策略
16 .Never STOP
17 .我们提供服务,但我们不想卖苦力 离线业务 Hive / Presto /自定义报表暂且搞定大部分 MR / Spark 开发搞定一部分 实时业务 开发需求多 越来越 多的业务需要实时数据支持 相关业务方,运营方没有能力写 Storm / Spark 代码 开发代价高 沟通成本 ,统计口径,业务逻辑
18 .实时计算平台 业内范例 腾讯 TRC 美团实时计算平台 平台服务 标准化 降低开发难度 类 SQL 语言支持 标准模块支持 DIY 式服务模式
19 .我们的情况:分两步走 Plumper 项目 基于 Storm 构建 侧重底层代码逻辑的模块化工作 Mario 项目 整体 交互流程的标准化 侧重 DSL ,调度,配置,管理后台等框架搭建
20 .Look inside
21 .系统监控 硬件和集群基本监控数据 CPU / IO / 网络 / 进程监控这些基本指标都很不难做 Ganglia( 集群特定 , 自定指标等 ) / Sentry 系统 ( 通用指标 )
22 .还需要更多 以及各种业务指标监控 这么多东西,谁来关注?如何关注得过来?
23 .集群监控后台 离理想状态,差得还很远。。。 业务指标需要丰富(帮助快速发现和定位问题) 易用性!
24 .T rouble is a friend !
25 .欢迎交流 OR 天火 @ 蘑菇街 tianhuo @ mogujie.com colorant@ 微信