开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

【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:412187
用户头像

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

关注

评论

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

[Day30]-[二叉树]第二小的值

方勇(gopher)

LeetCode 数据结构和算法

2020,微服务降温了?

爱好编程进阶

Java 程序员 后端开发

渗透实战之内网渗透流程

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

[Day31-02]-[二叉树]二叉搜索树节点最小距离

方勇(gopher)

LeetCode 数据结构和算法

模块四:作业

本人法海

「架构实战营」

一份送给IT工程师们的礼物,观测云2022正式发布!

观测云

Go 语言入门很简单:Go 计时器

宇宙之一粟

Go 语言 计时器 4月月更

01-回顾多线程

爱好编程进阶

Java 程序员 后端开发

模块四作业(试卷存储方案)

Dean.Zhang

未来计算图鉴:十年后的计算长什么模样?

脑极体

倒计时0日!Apache DolphineScheduler4月 Meetup 大佬手把手教你大数据开发,离线调度

白鲸开源

【ELT.ZIP】OpenHarmony啃论文俱乐部——点燃主缓存压缩技术火花

ELT.ZIP

gpu OpenHarmony ELT.ZIP 主缓存

18 应用服务器集群的伸缩性设计

爱好编程进阶

Java 程序员 后端开发

2021年最新调查:86% 的 Java 开发人员 依赖 Spring 框架

爱好编程进阶

Java 程序员 后端开发

天下谁人不识君:当IPv6+成为千行百业的朋友

脑极体

千万级学生管理系统考试存储系统方案

踩着太阳看日出

架构训练营

一个普通App变成Launcher的故事

Changing Lin

android Launcher

ffmpeg命令参数类型

Loken

太卷了! 八股文、算法张口就来?2022版Java面试手册帮你轻松拿下

Java架构追梦

Java 程序员 后端开发

Java面试通关秘籍:笔记导图+面试文档+视频讲解

Java架构追梦

Java 程序员 后端开发

架构实战营 第 6 期 模块四课后作业

火钳刘明

#架构实战营 「架构实战营」

Fedora 上如何安装 gitea

HoneyMoose

15-spring整合mybatis方式一

爱好编程进阶

Java 程序员 后端开发

2020年最全Java面试汇总整理(含答案)

爱好编程进阶

Java 程序员 后端开发

元宇宙里开豪车

CECBC

Postman 如何删除一个工作空间

HoneyMoose

[Day31-01]-[二叉树]二叉树的直径

方勇(gopher)

LeetCode 数据结构和算法

20多年的岁月里一路走来满是辜负与遗憾,从双非到阿里SP,收到offer的那天我哭惨了

爱好编程进阶

Java 程序员 后端开发

分布式系统学习资料汇总

Geek_4zc1nt

分布式 分布式系统 资料 资料整理 公开课

2021阿里总监最新整理:初级-中级-高级大厂面试真题(附答案解析

爱好编程进阶

Java 程序员 后端开发

Java工程师面试题汇总,全会月薪至少3W

Java架构追梦

Java 程序员 后端开发

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