「ArchSummit·深圳」人工智能如何促进工业和制造领域的智能化转型? >>> 了解详情
写点什么

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

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

关注

评论

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

国内领先的云软件厂商安超云加入,为龙蜥社区注入新动能

OpenAnolis小助手

开源 操作系统 云厂商 国产

史上最通俗,彻底搞懂字符乱码问题的本质

WorkPlus

无所不云,开启你的美好旅行新体验!

天翼云开发者社区

Javascript实现上传图片并实现预览图片功能的三种方法

deal

3月日更 3月程序媛福利 3月月更

【OpenMLDB Monthly Meeting】2022.2 月会议纪要

第四范式开发者社区

人工智能 数据库 开源 Meetup 特征平台

RTC 音频质量评价和保障

网易云信

WebRTC

在一条DML语句中插入/更新/删除/获取几百万行数据,你会特别注意什么?

KunlunBase昆仑数据库

分布式数据库

穿透、击穿、雪崩…Redis这么多问题,如何解决?

华为云开发者联盟

redis 缓存 缓存穿透 缓存击穿 缓存雪崩

企业IM首选移动数字化平台WorkPlus

WorkPlus

昆仑分布式数据库技术优势

KunlunBase昆仑数据库

分布式数据库 国产数据库

10分钟快速玩转kunlun cluster

KunlunBase昆仑数据库

分布式数据库

昆仑分布式数据库Sequence功能及其实现机制

KunlunBase昆仑数据库

分布式数据库

CRM系统改善业务的方法

低代码小观

CRM 客户关系管理 企业管理系统 CRM系统 企业管理工具

C++ 内存管理中内存泄漏问题产生原因以及解决方法

Linux服务器开发

C/C++ 内存管理 内存泄漏 Linux服务器开发 Linux后台开发

广电行业如何上云?来抄作业!

天翼云开发者社区

分布式事务对于两阶段提交的错误处理

KunlunBase昆仑数据库

分布式数据库

如何为你的企业创建自助服务知识库

小炮

经典的两阶段提交算法原理及缺陷

KunlunBase昆仑数据库

分布式数据库

31 家企业入选阿里云首期云原生加速器,共建云原生行业新生态

阿里巴巴中间件

云计算 阿里云 云原生 加速器 生态伙伴

多任务学习模型之DBMTL介绍与实现

阿里云大数据AI技术

机器学习 深度学习 数据模型 多任务学习

云图说丨初识数据工坊DWR

华为云开发者联盟

大数据 数据处理 算子 数据工坊 工作流编排

“养老”变“享老”,老龄人口高峰与养老产业爆发催生金融需求

易观分析

养老服务 养老金融

昆仑分布式数据库技术特点

KunlunBase昆仑数据库

分布式数据库 国产数据库

开发者说丨如何从零开始构建一个轻量级应用

华为云开发者联盟

Vue 低代码 页面 应用 AppCube

昆仑分布式数据库架构介绍

KunlunBase昆仑数据库

数据库 分布式数据库

天翼云与龙芯完成产品兼容适配加速国产化云平台发展

天翼云开发者社区

天翼云TeleDB数据库为实现自主可控全面亮剑

天翼云开发者社区

星汉未来成为 FinOps 产业标准生态联盟首批会员

星汉未来

云原生 开源社区 成本优化 IT运维

JavaScript 基础(一):语法和程序结构

devpoint

JavaScript 函数 数据类型 3月月更

为什么要选择昆仑分布式数据库?

KunlunBase昆仑数据库

国产数据库

响应速度提升80%以上,甘肃省医保信息平台稳固上线有法宝

华为云开发者联盟

数据库 华为云 华为云数据库 智慧医疗 医保

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