基于“大中台+小前台”思想的电商系统总体架构设计

一、架构总原则

1. 大中台+小前台的架构思路
2. 业务中台采用领域驱动设计(DDD),在其上构建业务能力SAAS,持续不断进行迭代演进。
3. 平台化定位,进行了业务隔离设计,方便一套系统支撑不同玩法的业务类型和便于定制化扩展。
4. 前后端分离,通过服务接入层进行路由适配转发。
5. 天然的分库分表,消息解耦和分布式缓存设计,支持弹性扩容,以支持大数据高并发场景。

二、系统逻辑架构图

2.1、电商中台

       中台部分在逻辑上分成了基础能力和平台产品两层,这样做的好处是,基础能力层聚焦于稳定收敛的业务模型和基础服务本身,不会随着业务和前台产品的调整发生变化,可以简单理解为业务模型的DAO。平台产品层则专注于通过流程编排类的技术手段,将基础能力构建成业务的解决方案,解决共性和个性化的问题。我们将以交易的设计为例来说明这个分层理念。通过对电商交易业务的深入分析,

       可以确定几乎所有的交易都会涉及下图中所有的领域(库存,优惠,价格…),而单看每个域,玩法都是很少变化的,将这些域的基础能力完全可以沉淀下来形成原子的基础能力,通过扩展点方式应对将来特殊的场景个性化扩展。

       平台产品层为了应对不同的交易场景(一口价,拍卖,货到付款,预售…)将原子的基础能力编排成满足不同场景的解决方案,以服务的方式透出出去。

2.2、服务接入层

       服务接入层是连接前台产品和中台产品层的纽带, 实质就是之前的web 应用,不同的是现在前后端分离后,只包含 java 代码,使用springBoot web。做参数转换,路由分发,调用中台服务,结果封装。这块需要做好前后端的交互规范,请求路由映射规范,web工程目录结构,负载均衡方案,跨越问题和安全问题,

2.3、公用基础组件

       沉淀和抽象出通用独立的公共基础组件。

(1)、数据访问组件: 抽象封装分库分表访问,读写分离,主备切换。
(2)、消息中间件组件:这块的选择非常多,就开源的就有activeMQ,RabbitMQ,RocketMQ,Kafka等等, 再加上阿里云,AWS, 腾讯云等提供的和对应的云版本,会非常多,如果不对这块做封装,对其上应用做透明化处理,后期做这块的适配调整就会非常痛苦,特别是这套系统会在不同环境中进行部署时。
(3)、地址库组件: 统一地理地址相关的服务,如果是有拓展国际市场的需求,这块会显得的非常重要,不同文化背景的国家,在这块的差异会非常大,同时国内也涉及3级,4级和5级地址的问题。

2.4、云服务&设施容器层

       如果技术团队不是非常大,又没有较强的运维技术人员,建议不要购买物理机自己搭建环境,而是直接使用阿里云这些比较成熟的ECS和其他云服务,这样会节省很多时间成本和一些耗时的运维工作,让其专注于业务产品的研发,同时使用docker 容器部署应用,不仅需要的机器数量比较少而且部署非常便捷高效。

2.5、业务前台产品

       ios ,android APP , H5 APP ,PC 站点,微信支付宝小程序 都是属于这层,前台产品主要是根据业务形态和产品的定位来进行构建。对于电商业务来说,主要是指移动APP商城,H5商城,PC商城 ,小程序商城。将以小程序为例来说明。

       为了适应小程序,社交电商这样的热点,加上有这么优秀的一套电商中台系统,不搞出点有么有样的电商前台产品,不是很没有道理,为此想破脑袋,我们把电商和送礼结合了起来,做了“礼尚往来”的小程序,下面是产品的截图。

2.6、稳定和安全保障系统

       对电商这类在线交易系统,流量会随着运营活动的波动非常大,特别是到了双11这类大活动的时候,流量的峰值会是平时的几十~几百倍,一些接口会放大的更大;核心系统的系统指标,流量,接口调用量和rt, 以及限流和异常的监控就显得非常重要了。在几年之前,只有BAT 几个大的公司有能力在这方面做的不错,随着全民参与的这种大型促销活动推动技术的进步,以及开源社区和一些大厂将类似方案回馈到开源社区,目前一个小的技术团队做好这块也没有什么难度了。现将我们用到的框架做个简单的介绍,更多细节请参考官方文档。

(1)、sentinel:是面向分布式服务架构的轻量级流量控制产品,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助您保护服务的稳定性。 该系统已经过阿里内部双11多年的验证,稳定性和可靠性非常不错,已于最近开源。
(2)、ubbokeeper: dubbo的官方监控dubbo-monitor-simple 在性能上表现非常不好,经常卡死,对比了几个成熟的框架后,最终确定使用dubbokeeper. dubbokeeper社区版dubboadmin,包括了应用管理,动态配置,统计信息,服务监控和zk信息查看功能。
(3)、pinpoint::现在基于微服务的架构,一个请求从用户发起到响应,中间调用链路非常长,跨越数十个系统很正常,并且路径非常多,要定位一个比较耗时的响应,不利用工具,是非常低效的。Pinpoint这样的 工具 就是为处理这个问题出现的,Pinpoint的优点是对代码零侵入,运用JavaAgent字节码增强技术,追踪每个请求的完整调用链路。
(4)、Telegraf+ influxDB+ Grafana:主要用来实现业务数据的实时监控方案,如交易额的不正常波动,订单量的突然下跌等。
(5)、Telegraf 是收集数据的代理程序,可以根据业务需要添加插件扩展服务,收集到的数据写入分布式时序数据库influxDB,再通过grafana 可视化的展示出来。

2.7、工程结构

       逻辑结构映射到物理的工程结构,每个逻辑单元对应为一个子工程,如果是用idea 开发,就是一个model, 当然model 里边会有子model;至于需要打包构建多少个系统其决定性因素是你团队的规模,如果团队规模较少,中台系统合并到3-4个左右就足够了,如果团非常大,一个团队负责一个业务板块的,并为其构建多个系统,也是非常正常的,像较大的电商公司,负责商品的就是一个团队,商品相关的系统就有数10个。以交易为例,可以将交易的系统合并为一个系统,但在工程的组织结构上是对立的,方便将来的拆分。

转载地址:

(1)、电商系统“大中台+小平台”架构设计

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480894.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文写作葵花宝典

一只小狐狸带你解锁NLP/DL/ML秘籍作者:小鹿鹿鹿论文写作套路老板说:写论文是有套路的老板说:introduction写好了,论文就成功了一半老板说:你的motivation是什么,contribution又是啥?小夕说&…

李涓子 | 机器智能加速器:大数据环境下知识工程的机遇和挑战

本文转载自公众号:数据派THU。 导读:知识图谱已经成为推动人工智能发展的核心驱动力之一。本文选自清华大学计算机科学与技术系教授、清华-青岛数据科学研究院科技大数据研究中心主任李涓子老师于201…

【HTML/CSS】CSS盒模型及其理解

1 盒模型 概念:CSS盒模型本质是一个盒子,包括:外边距margin、边框border、内边距padding、内容content 分类:标准盒模型(W3C)和怪异盒模型(IE) 标准盒模型:width的值就是…

Netty异步非阻塞事件驱动及原理详解

本文基于 Netty 4.1 展开介绍相关理论模型、使用场景、基本组件、整体架构,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目方面提供参考。 Netty 是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服…

文本预处理跑得慢?抱抱脸团队又放福利,1GB文本语料分词只需20s!

一只小狐狸带你解锁NLP/DL/ML秘籍正文素材来源:量子位缘起BERTBERT带来的并不是只有一大波paper和嗷嗷上线,还带火了一个NLP团队——Huggingface(中文译作抱抱脸)。抱抱脸团队是一个创业团队。他们的Transformers是github上最火的…

基于深度学习的FAQ问答系统

| 导语 问答系统是信息检索的一种高级形式,能够更加准确地理解用户用自然语言提出的问题,并通过检索语料库、知识图谱或问答知识库返回简洁、准确的匹配答案。相较于搜索引擎,问答系统能更好地理解用户提问的真实意图, 进一步能更有效地满足用…

基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba的企业级微服务敏捷开发系统架构

一、项目总体架构图 二、功能介绍 2.1、统一认证功能 支持oauth2的四种模式登录 支持用户名、密码加图形验证码登录 支持手机号加密码登录 支持openId登录 支持第三方系统单点登录 2.2、分布式系统基础支撑 服务注册发现、路由与负载均衡 服务降级与熔断 服务限流(url/方法级别…

征文通知 | 2018年全国知识图谱与语义计算大会

2018年全国知识图谱与语义计算大会China Conference on Knowledge Graph and Semantic Computing (CCKS 2018)2018年8月15日-18日,天津征稿截止: 2018年5月18日全国知识图谱与语义计算大会(CCKS: China Conference on Knowledge Graph and Semantic Comp…

如何让聊天机器人懂情感?这是一篇来自清华的论文

原载:Paperweekly作者:黄民烈,清华大学老师关注自然语言处理、人机对话情感分析等方向aihuangtsinghua.edu.cn当你悲伤的时候,机器人可以安慰你;当你高兴的时候,机器人为你高兴。悲你所悲,喜你所…

戴着口罩也要开心过年吖!

一只小狐狸带你解锁NLP/ML/DL秘籍素材来源于网络新的一年????就要到来了作为超(bu)高(shan)智(yan)商(ci)的程序员如何向亲朋好友证明我们是人群中最靓的仔呢小夕为你准备了专属程序员的新春祝福~~普天同庆for (;;) { print("鼠年快乐"); }(满屏的新年…

【HTML/CSS】margin塌陷和合并问题

1 margin塌陷问题 1.1 示例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>margin塌陷</title…

集群、分布式、微服务的概念及异同

一、什么是集群&#xff1f; 集群是指将多台服务器集中在一起&#xff0c;每台服务器都实现相同的业务&#xff0c;做相同的事&#xff1b;但是每台服务器并不是缺一不可&#xff0c;存在的主要作用是缓解并发能力和单点故障转移问题。 集群主要具有以下特征&#xff1a;&…

论文浅尝 | Complex Embeddings for Simple Link Prediction

The ́o Trouillon, Johannes Welb, Sebastian Riedel, ÉricGaussier, Guillaume Bouchard . Complex Embeddings for Simple Link Prediction. In Proceedings of the 33ndInternational Conference on Machine Learning, pages 2071– 2080 (ICML2016)论文链接&#xff1a;…

详解医学顶刊《柳叶刀》最新发表新型冠状病毒研究论文

我是夕小瑶&#xff0c;一只热爱科研的小狐狸作者&#xff1a;夕小瑶&#xff0c;小鹿鹿鹿&#xff0c;QvQ前言新型冠状病毒&#xff08;2019-nCoV&#xff09;的突发恰逢春节&#xff0c;千家万户都对疫情十分关注。令人心痛的是&#xff0c;病毒带来的不止有病痛&#xff0c;…

AI学习笔记--人机对话的四种形态

AI学习笔记--人机对话的四种形态 ><div class"show-content-free"><p>最近在筹备转行 AI PM 由于之前的产品线也有做过类似 AI 的智能客服产品&#xff0c;所以打算先从人机对话这个角度入手。</p><p>以下文章结合了一些 case&#xff0c…

Spring Cloud简介,为什么需要Spring Cloud?

一、为什么需要Spring Cloud&#xff1f; 从分布式/微服务的角度而言&#xff0c;就是把我们一个大的项目分解成多个小的模块&#xff0c;这些小的模块组合起来&#xff0c;完成功能&#xff1b;而拆分出多个模块以后&#xff0c;就会出现各种各样的问题&#xff0c;而Spring C…

论文浅尝 | 「知识图谱」领域近期值得读的 6 篇顶会论文

本文转载自公众号&#xff1a;PaperWeekly。CIKM 2017■ 论文 | Hike: A Hybrid Human-Machine Method for Entity Alignmentin Large-Scale Knowledge Bases■ 链接 | https://www.paperweekly.site/papers/1528■ 解读 | 罗丹&#xff0c;浙江大学硕士1. Motivation 随着语义…

NLP最佳入门与提升路线

一只小狐狸带你解锁NLP/ML/DL秘籍作者&#xff1a;夕小瑶&#xff0c;小鹿鹿鹿&#xff0c;QvQ前言对突如其来的长假感到惶恐和不安&#xff1f;紧盯2019-nCoV的最新消息却依然感觉很空虚&#xff1f;腰酸萎靡脖子僵甚至怀疑自己有点发烧&#xff1f;这是长时间没学习的症状。 …

揭秘任务型对话机器人(下篇)

本文来自专栏语言、知识与人工智能&#xff0c;作者腾讯知文实验室 近年来比较热门的任务型对话的研究主要集中在端到端的框架的研究&#xff0c;基本跟传统任务型算法框架——语言理解模块&#xff08;Spoken Language Understanding&#xff0c;对话管理模块(Dialogue Manage…

斯坦福大学NLP公开课CS224n上映啦!华人助教陪你追剧

一只小狐狸带你解锁NLP/DL/ML秘籍作者&#xff1a;小鹿鹿鹿&#xff0c;QvQ&#xff0c;夕小瑶CS224n: Natural Language Processing with Deep LearningStanford / Winter 2020开课啦&#xff01;&#xff01;在大量开源工具的席卷下&#xff0c;NLP领域也不可避免的受到了“调…