写点什么

独家揭秘“生鲜独角兽”——美菜的技术体系

  • 2019-11-29
  • 本文字数:3686 字

    阅读完需:约 12 分钟

独家揭秘“生鲜独角兽”——美菜的技术体系


中国生鲜电商的发展历程可以划分为四个时期:探索期(2005-2009 年)、启动期(2009-2012 年)、高速发展期(2013-2017 年)、应用成熟期(2017 年以后)。


如今,国内生鲜电商行业发展步入成熟期:头部生鲜电商企业稳步发展同时不断深耕供应链、优化服务,完成获客留存。在这样的生鲜电商发展浪潮中,有一家公司风生水起,稳步扩展。它就是美菜。


作为一家 B2B 生鲜电商平台,美菜创立于 2014 年。彼时,正值生鲜电商“黄金期”,公司高速发展,2 年后成为独角兽。现今,美菜已成为行业中的“佼佼者”,业务遍布全国 200 多个城市,累计服务商户超过 300 万家。


无论是在互联网行业,还是生鲜电商领域,这样的发展速度和成绩都让人惊讶。从技术角度,我们或许可以更为深入地了解这家公司。


当前,美菜的技术体系和架构是什么样的?从 2014 年创立至今,公司的技术体系和架构是如何一步步搭建的?在技术上,作为一个快速发展的生鲜电商创业公司,踩过哪些坑?作为一个生鲜电商企业,如何应对自己的“大促”?…


带着这些疑问,InfoQ 记者独家采访了美菜联合创始人徐薛胤和 CTO 廖若雪,试图弄清这些问题。

美菜技术架构全景

从 2014 年到现在,美菜经过 5 年时间,逐渐摸索出一套适合自己的技术体系和架构。美菜的业务技术架构,纵向划分为商城、供应链、物流三大业务方向,实现在线 2b 2c 的自营和第三方售卖、线下和线上履约、线下配送等具体业务。


据廖若雪介绍,美菜 2019 引入和实施中台化的战略,消除各业务线重复建设电商基础、协议和能力不匹配等情况,统一依赖中台提供关于用户、货主、商品、营销、交易、支付、搜索、推荐,形成业务线快速迭代和优化业务本身的技术模式。



美菜网业务架构


在整个技术体系的支撑层面,基础架构提供适合电商业务场景的各种基础组件,搭建了能快速灵活支撑各业务和中台的分布式系统;具备消息传递、混合缓存、动态扩容、资源管控、自动化的监控和部署等多种能力。


2019 年,美菜又构建立体的网站和数据安全防护体系,实现核心业务的链路级别双活,在数据安全上,拥有完整的数据备份方案。


而大数据平台作为驱动业务增长的另一个关键核心,通过埋点接入、日志汇总、主动采集等手段,建立电商数据仓库。依托数仓之上的在线和离线计算系统,支撑数据挖掘、机器学习等数据黄金的探索和应用。构建起美菜业务全链路数字化体系、智能分析与决策辅助体系、智能策略与业务链路赋能体系。


此外,美菜技术体系内部形成一套相对完善的培养和晋升机制,保证技术团队成员不断地进步,团队能力持续提升。

从 0 到 1

据悉,与单纯的电商平台不同,美菜的业务涉及从用户下单、供应商采购、仓库分拣到司机配送,整个“链条”比较长。而创业之初,公司只有一个数据库、一个代码库、一套系统,“所有的业务逻辑都写在一起”,导致的结果往往是“牵一发而动全身”。


2015 年初,技术方面就遇到问题:系统无法完成迭代。“只要一上线,系统就要回滚。”徐薛胤说。


随后,系统被进行大拆分,将商城、物流解耦,中间通过 MQ(消息队列)进行数据传输。


此后,美菜又采取分而治之的策略,系统服务化,把所有服务进行分层,将系统边界界定清楚。


在徐薛胤看来,当时的现状是:整个技术体系非常薄弱,生鲜电商又非常复杂。


一没技术,二没人。对一家创业公司来说,这意味着技术发展会有很多“坑”。“从底层非标的产品设计到整个交易链条,加上采购、仓库和配送系统,大家都是摸着石头过河,中间走了很多弯路。”他坦承道。


以促销节日为例,美菜有自己的促销节日,比如美菜“66 季”、美菜节等。像这种促销节日,它对网站和系统的可靠性、可用性非常高。即使强大如 Amazon,每年一到“黑五”,网站不时“崩一下”。


当时的情况是这样:


日常,属于一个半崩不崩的状态。如果崩了,技术人员半夜爬起来解决问题。


2016 年,美菜举办第一届 110 美菜节。经过 2015 年服务架构的拆分改造,公司系统稳定性大大提升,但徐薛胤称“但没经过战火洗礼,总是觉得缺点什么”。


在大促销前夕,商城、供应链、仓储物流、支付财务全链条所有系统的研发各自排查、压测,梳理可能存在问题的环节并立项调整,测试全方位配合保障大量调整的正确性。同时,运维人员准备机器,线上扩容,并联系网络服务商提前准备 CDN、带宽等资源,PMO 全程管理所有 110 项目,每天跟进任务完成情况。


最后情况是,活动当天,TPS(吞吐量)是平时几十倍,系统虽经受住战火的考验,但是线下的仓储配送却被大批订单发爆仓。


经过多次的“洗礼”和技术发展的积累,美菜的技术体系整体上接近完善和健全。因此,这也表示:美菜的技术体系步入一个新阶段。

从 1 到 N:数据驱动

廖若雪表示,新阶段主要推进数据驱动、技术体系管理规划和新技术的引入。其中数据驱动则是重中之重



美菜网大数据架构


基于区块链技术实现业务全链路数字化,美菜积累了餐厅食材需求、生鲜供应全链路、农产品的供给与采购等海量数据,这被视为大数据技术的基础燃料,也是美菜最有价值的数字资产。


在业务全链路数字化基础上,美菜大数据实现业务全链路的智能分析与决策辅助,比如销售智能助手、智能营销系统、采购智能辅助、区县指挥等智能辅助系统,极大的提升业务链路各环节的运营效率,为业务的增长保驾护航。


美菜大数据,在业务链路的各环节智能策略建模与自动化上也有深入积累,逐步开始赋能业务。餐厅商品需求模型、商品销量预测、商品区域价格弹性、市场供需指数、供应商评级画像等单环节基础策略,已经在业务系统发挥价值。商品采购自动下单系统、叶菜分剩策略、库存商品售罄管理策略、高库存商品管理策略等多环节业务策略,也开始逐步优化供应链各子链路,赋能全业务。


比如在农产品交易方面,通过采购自动下单系统,美菜与大部分供应商的数字化系统对接,实现主要农产品的采购自动下单。基于大数据技术,进行销量预测、供应量评级、自动询价和供应商选择,从而将采购交易变得信息化、透明化。


在冷链智能物流方面,大数据依然发挥着极大作用。通过美菜物流系统记录每一个节点数据,全链条监督货物品质,利用大数据进行预测、计划、调度,不断提升效率,最终达到智慧物流的目标。

5 年,3 个阶段

如果按照时间顺序,美菜 5 年技术体系发展可被划分成 3 个阶段:


2014-2015 年,公司初创,业务小。此时,技术的主要目标是让业务运行起来,系统相对简单。同时,根据业务需求,美菜还开发了一些其他工具;


2016-2017 年,美菜在之前基础上,开始建立一个比较完整的业务闭环,包括营销、商品采购、供应链、物流配送等。并且,电商和供应链两大业务模块得以建立,整个技术业务体系搭建完毕;


2017-2018 年,美菜基于大数据实施数据驱动。据悉,廖若雪入职美菜之后,开始驱动整个中台化,进行技术管理体系的规划和新技术的引入。


经过 5 年发展,如今的美菜,不仅有自己的大数据平台,还有“天眼系统”、“智能排线系统”,这些技术既支撑着公司业务稳定快速发展,又成为技术创新的动力。


天眼系统为例。打开美菜开发的供应商 APP,就能直观看到“天眼”的功能。


第一部分是实时数据,可以在 APP 上看到供应商每天的销售额。美菜采购数量、销售数量、用户的复购情况、整个环节哪里存在问题、库存数量,所有这些一目了然。


“更重要的是,我们把履约客户情况及服务诊断做了进一步反馈,基于天眼系统合作伙伴可以看到客户的满意情况,退货、投诉、缺货等,从而帮助供应商做自我改进。”美菜方面表示。


更进一步,天眼系统还会结合美菜的供应链预测协同能力,对合作伙伴进一步的开放赋能。基于美菜大数据能力,我们能提前洞察客户需求,及时的调整我们的销售计划和采购计划,并且把计划协同给联合经营的合作伙伴;帮助合作伙伴和美菜一起,打造智慧供应链。

未来技术体系发展:业务始终是“路标”

虽然美菜整体发展迅猛,但与整个行业相比,体量还很小。徐薛胤认为,美菜属于一个快速发展的公司,技术能跟上业务就很不错。


“跟上业务的同时,我们也做了很多事情,比如中台的事情、用户研究等。跟上业务只是第一步,这对产品和技术的要求相对比较高。又因为,我们的业务跟很多公司不同,我们不是单纯的电商,又跟物流公司不一样,还有农业,什么都有。”他说。


以 IT 系统为例。最开始,美菜技术团队使用虚拟机,然后使用 Docker,不过还是把 Docker 当虚拟机用。后来,技术团队开始将 Docker 当做容器使用。


徐薛胤表示,“早期,美菜团队的成员能力有限,如果你整个团队都玩不好 Docker,你要引入 Docker,这就是灾难性的东西。基于团队的实际能力和业务需求,用好一个技术,然后,逐步往前推进,一边培养人,一边将整个技术向上提升。”


无论是 2014 年,还是 2019 年,对美菜来说,业务是技术体系发展的“路标”,未来也将如此。


12 月 6 日 北京ArchSummit全球架构师峰会上,美菜网技术专家 张宏伟 将分享交易中台建设的宝贵经验。上面已经提到了美菜在建设自己的数据中台,业务线如何从数据中台吸取能量,提升业务灵活性?如何以中台化思维去设计系统架构呢?在 12 月 6 日北京 ArchSummit 架构师峰会上,来自美菜网技术专家 张宏伟 将分享中台建设过程宝贵经验。点击阅读原文查看日程。购票可以联系灰灰 15600537884(同微信)


2019-11-29 10:084159
用户头像
万佳 InfoQ编辑

发布了 677 篇内容, 共 308.0 次阅读, 收获喜欢 1769 次。

关注

评论

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

基于小程序云Serverless开发微信小程序

移动研发平台EMAS

【架构师训练营】第 10 周作业

花生无翼

Dubbo微服务调用过程时序图

2流程序员

威联通(NAS)应用篇:搭建个人图床

BigYoung

图床 NAS QNAP 威联通 自建

架构师训练营第十周学习总结

Bruce Xiong

架构师训练营——第 10 周作业

jiangnanage

架构师训练营——第10周学习总结

jiangnanage

架构师课程第十周总结

dongge

微服务架构关键点思考

dony.zhang

手动实现mini-vue

晓枫

Java vue.js

架构师课作业 - 第十周

Tulane

让我们慢慢地成长

姜海天

个人成长

week10 总结

雪涛公子

week10 作业

雪涛公子

hive拉链表优化·百亿量级数据支持准实时更新

誓约·追光者

hive 实时数仓 海量数据库的设计与实践

【数据结构与算法】如何高效学习数据结构与算法

三钻

学习 数据结构与算法

致力打造下一代云原生分布式消息系统,StreamNative 完成源码资本数百万美元 Pre-A 轮融资,红杉中国种子基金跟投

Apache Pulsar

kafka Apache Pulsar StreamNative

Django单元测试用法及Fixtures用法

BigYoung

Python django 单元测试 Fixtures

Dubbo的服务注册与调用

superman

下载的附件名总乱码?你该去读一下 RFC 文档了!

Java课代表

Spring Boot

憋再PS抠图了,3行代码给你安排的明明白白!

王坤祥

生产力 图像识别

Lambda架构已死,去ETL化的IOTA才是未来

易观大数据

Python中list操作之append、extend

王坤祥

Python Python基础

iOS Abort问题系统性解决方案

移动研发平台EMAS

ios 监控 移动

架构师第十周

Tulane

浅析Python3列表操作之*和*=

王坤祥

Python Python基础

架构训练营第十周感悟

张锐

【FCC前端教程】44关学习CSS与CSS3基础「一」

三钻

CSS css3 程序员 大前端

微服务、中台和 DDD

dongge

服务化问题与方案简述

superman

微服务 服务化改造

架构训练营第十周作业

张锐

独家揭秘“生鲜独角兽”——美菜的技术体系_文化 & 方法_万佳_InfoQ精选文章