陈辉:蘑菇街技术架构规划与成长

时间:2022-04-22
本文章向大家介绍陈辉:蘑菇街技术架构规划与成长,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

美丽联合集团旗下有美丽说、蘑菇街、淘世界等产品和服务,是中国最大的女性媒体与时尚消费团体。负责美丽联合集团电商架构工作的陈辉在现场为大家带来了“蘑菇街技术架构规划与成长”的主题分享。

陈辉.JPG

蘑菇街最早采用单体应用,2016年,完成了一次全面的服务化拆分以及前后端分离,2016年5月,蘑菇街和美丽说、淘世界进行融合,到达了并且目前也处于多平台的阶段。

在多平台阶段面临的不仅仅是单一平台需要面对的问题,还有比如不同行业需要有自己的detail页面,不同市场需要有自己的玩法和计价规则,以及需要将美丽说、淘世界的数据融合进来等难题,所以平台化这个概念应运而生。平台化主要的目的就是能够让电商本身支持多平台业务的快速构建、部署,并通过技术手段解决隔离、选择、稳定性等问题。

陈辉介绍到,电商平台开发过程中,有几个重要的点:

  • 扩展性
  • 隔离性
  • 基础能力
  • 合作与效率

扩展性要解决的问题就是怎么支持横向和纵向的快速扩展。而隔离性意味着更改某一平台的代码不会对另一平台造成影响。

他指出平台化还需要有一些基础能力,例如将模块化应用到整个设计过程中,让整个系统本身底层通过模块化的方式进行拆分和解耦。模块化以后,基于对模块的管控,可以进行热部署或者热加载,类似这样的方式可以解决线上某个节点或者某个模块导致的一些问题,通过快速的开关模式把这个模块下掉或者给它一个容灾的方式。平台化还应该有一个消息驱动来让所有模块同时做一件事情,或者让同类化的应用快速上下线做一些迭代。

当然,合作与效率在平台化过程中也同样重要。首先是稳定性,电商平台最主要依靠的就是稳定性,其次是不同模块的detail的共享和共建。由于测试较为耗时,通过工具,框架和手段来帮助大家解决测试的事情也是在这一点需要考虑的。此外,快速部署也是一个重要的问题,例如如何在平时将美丽说和蘑菇街这两个模块分开部署,但到大促阶段则把它们快速合并部署到一起。

基于平台化的这些特性,蘑菇街总结出了一些在一整套平台化过程中的原则:

  • 代码只能有一份
  • 不同平台的业务要能做到隔离,互不影响
  • 要能支持业务“快速扩展”
  • 必要时需要支持共建
  • 日常支持分开部署,但是大促时需要合并到一起

平台化能够解决稳定性、快速扩展能力和标准化场景的问题。但业务上多平台之间的穿插,相互组合能力或者定制化能力,是平台化不能解决的。除了后端的服务,电商还需要安全、风控、运维以及其他任何的一些基础支持,以及前端。

陈辉接下来为大家讲解了蘑菇街未来的两个方向。第一个方向是行业中近几年较为热门的概念,如无服务器(Serverless)、微服务(Microservices)、服务网格(Service mesh)和面向服务的架构(SOA)。第二个方向则是关注业务本身,这样才会有更多资源来支持业务。

最后陈辉还提到了时机的问题,即由于云厂商的服务日益成熟,处于多平台阶段的蘑菇街正大规模地把整体服务全部上腾讯云。

蘑菇街技术架构成长与规划.pptx