写点什么

【QCon 北京 2016】美丽说&蘑菇街专场重点回顾

  • 2016-04-27
  • 本文字数:1625 字

    阅读完需:约 5 分钟

QCon 北京 2016 全球软件开发大会的美丽说 & 蘑菇街专场顺利结束了,本专场以『复杂环境下美丽说&蘑菇街电商的升级之道』为主题,分享了社会化电商的技术架构和最佳实践。

美丽说大促平台的架构演化与挑战

对于社会化电商来说,各种促销活动是活动推广的重要手段。同时因为事件营销的不可预测性,对电商平台的弹性和稳定性提出重大考验。美丽说大促平台就是为了应 对此类活动而专设的平台。在本次专场上,大促团队的技术负责人陈晓冲为参会者分享了大促平台从无到有的架构设计与思考,同时以跑男和双十一为例,介绍了大 促平台的最佳实践。

促销活动因为其特性,在技术上面临如下挑战:任务多时间紧、功能复杂、协 同繁杂、性能要求高。在最开始,美丽说的需求都是单独开发,有许多重复开发的部分,同时初期架构较为简单,在应对复杂需求和快速迭代时也力不从心,在这种 情况下,美丽说成立了大促团队,进行了架构改造,开始了平台化之路。

在平台化的从无到有的过程中,美丽说大促团队经历了组件化和服务拆分,然后将之前各业务的数据打通,在前端方面实现了模块化和异步加载,最终形成的架构如下图:

该架构在跑男和双十一促销活动中经受了考验,实现了快速迭代和应对峰值请求的 99.9% 服务平稳运行。

蘑菇街电商算法演化:从爆款模型到个性化模型

蘑菇街从 2015 年从一个导购平台转型为社会化电商,这两种模式的巨大差异也体现在电商算法上,也经历了从爆款模型到个性化模型的转变。数据搜索技术团队负责人灵素(陈春丽)向参会者分享了随着蘑菇街电商场景变迁中的算法变化,以及模型变迁中的问题。

蘑菇街电商模型包括初排层、业务层和个性化层。初排层的排序模型经历了三代的变迁,在 2014 年以前是根据规则,到 2015 年是根据爆款模型,2015 年之 后是加入个性化因素的线性预估模型。业务层在 2016 年之后开始根据业务特征加入模型。个性化层在 2016 年之前是单一场景个性化,之后开始根据标签个性 化偏好。

加入个性化后的架构如图:

但是,算法模型的切换并不是一帆风顺,蘑菇街在切换过程中也遇到不少问题。在演讲后半部分主要分享了蘑菇街在实施过程中遇到的问题和决策。

蘑菇街混合云架构实践

混 合云在今年成为云计算中非常火热的话题,蘑菇街实施混合云的背景主要是在类似双十一这种场景中,会发生瞬时的峰值请求,混合云就是将应对峰值请求的资源采 用公有云,而平时的业务放在私有云里。蘑菇街平台技术运维架构师无锋(敖斌)向大家分享了蘑菇街实施混合云架构过程中的问题和经验。

电商平台常规化的大促面临的主要挑战包括:快速扩容和缩容、提升资源利用率以及成本问题。蘑菇街通过将私有云的资源虚拟化,加上通过设置流量调度、二级 CDN 和专线的公有云来应对。

混合云要做到的目标是要实现整个服务的发布、管理、云资源调度。无锋分享了蘑菇街的混合云无缝接入策略、流量调度和二级 CDN 的实践,成功支持了蘑菇街在大促中的表现。

移动端全链路跟踪保障体系

最后一场演讲由蘑菇街无线基础和 IM 技术团队负责人七米(杨剑锋)带来,他给大家分享的是蘑菇街在服务链路跟踪和保障方面的探索和实践。

在 演讲中,七米将请求链路分为古代、近代和现代三种,同时也体现了三种架构的差异。古代是指简单的 LNMP 架构,发现和定位问题通常只能用外部手段;近代则 在古代的基础上增加了流量调度和负载均衡,以及 log agent、kakfa、Hadoop 等,这种模式能够进行少量试试监控,同时能够定位 crash 上报的地方和原因;现代则指在客户端增加服务监控和用户 行为监控,在服务端增加流处理模块增强日志分析能力。不过在现代的架构下面,我们有时仍然难以定位到问题,用户下单需要经历数十个系统,每个系统都可能发 生问题,因此需要对整个交易链路进行跟踪和监控。

蘑菇街通过一个 MWP 全链路跟踪系统进行链路标记,从而实现了全链路跟踪:

由于篇幅限制,我们不能完整描述讲师分享的精彩之处,欲知更多信息,可下载 QCon 大会美丽说 & 蘑菇街专场 PPT,稍后我们会将演讲的视频发布在 InfoQ 网站上,敬请关注。

2016-04-27 03:412280
用户头像

发布了 164 篇内容, 共 111.4 次阅读, 收获喜欢 392 次。

关注

评论

发布
暂无评论
发现更多内容

Java开发不会Redis?Java开发掌握好Redis在面试中是个大加分项。

Java架构之路

Java 程序员 架构 面试 编程语言

宝马等支持为车辆创建“出生证明” 利用区块链技术跟踪车辆历史

CECBC

宝马

区块链技术解决监管痛点 首批6家券商加入“中证链”节点

CECBC

区块链

html容器以及CSS概述

程序员的时光

程序员 七日更 28天写作

Spring Boot 中集成 Shiro

武哥聊编程

Java springboot SpringBoot 2 shiro 28天写作

登录微软账号的Windows电脑如何远程?

BigYoung

微软 Windows 10 远程登录

机器学习笔记之:监督学习

Nydia

如果公司要招一个人代替你

哈撒啦岛

产品经理训练营

四个策略,三个“坑”,读《架构师也不写代码》有感

李忠良

28天写作

如何快速提升自己的能力?高效学习让你更出类拔萃。

一笑

学习方法 28天写作

架构师训练营第九周课后作业

万有引力

2021最新总结一个90后 双非本末 5面蚂蚁 如何拿到年薪60W+?

比伯

Java 编程 程序员 架构 面试

【并发编程的艺术】详解指令重排序与数据依赖

程序员架构进阶

架构 并发 Java内存模型 28天写作

2020出行之变(二):新能源汽车的拥挤牌桌

脑极体

项目管理系列(9)- 从 0 到 1 搭建 PMO(二)

Ian哥

28天写作

一顿午饭的现实思考

石君

28天写作 择业

原来Canal也可以做HA!

大数据老哥

核酸检测:让我明白AQS原理

叫练

AQS 共享锁 独占锁 可中断 条件队列

解密阿里线上问题诊断工具Arthas和jvm-sandbox

比伯

Java 编程 架构 面试 计算机

GNUCash

lidaobing

GNUCash 28天写作 四柱结算法 复式记账

重学JS | 通过无限循环动画案例理解CSS3动画与JS动画

梁龙先森

面试 大前端 编程语言 28天写作

认识产品经理-产品JD作业

Weiyung

金融 真的需要区块链技术提升效率吗?

CECBC

金融

Java 程序经验小结:编程更好的使用泛型以替代原生态类型

后台技术汇

28天写作

张小龙:视频号是什么?| 视频号 28 天 (16)

赵新龙

28天写作

28天瞎写的第二百二十七天:跨年夜的故事

树上

28天写作

碎碎念之「卡马克的反脆弱想法生成系统」

Justin

心理学 创意 28天写作 反脆弱

学设计模式前先了解下设计模式分类

爱笑的小雨

设计模式

产品经理训练营笔记-产品思维和产品意识(上)

.nil?

产品经理训练营

Elasticsearch Document 的 _version 元数据

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

当情绪生病?就嫁接一段新的记忆「幻想短篇 16/28」

道伟

28天写作

【QCon北京2016】美丽说&蘑菇街专场重点回顾_服务革新_徐川_InfoQ精选文章