相关阅读:

厉害了Word哥!阿里巴巴73款开源产品最全总结全景图

高可伸缩的移动电商架构设计,包括了几个部分:App客户端架构、服务端的架构,以及如何使用私有云、公有云部署服务端的应用,可以让大家快速的建立,搭建高可伸缩的移动电商系统架构的知识体系。

App端的混合架构

首先介绍App端的混合架构,还有服务端的SOA架构,也包括弹性云的架构设计,基于容器的虚拟化以及电商SOA如何部署在弹性云的环境当中。最后的部分,会讲一个具体的案例。比如说双十一的时候,该怎么去应对这种大促?

如图一,这是App端的混合应用框架。大家都知道,做App开发的时候,如果用纯Native进行开发,成本很高,但是用户体验会非常好;如果说用纯H5来开发,开发速度很快,但是在实现复杂交互时,体验就不那么好了。

图一

所以业界主流的做法就是所谓的App混合应用架构。从这个框架当中,可以看到,其实我们是通过用JSBridge去封装一些原生方法,让H5通过调用JS,可以访问摄像头、重力感应等等功能。

在App的混合架构当中,大家在设计App框架时可以考虑,实现H5本地包缓存的机制,如图二。通常每一次App请求都是向服务器端发送请求,然后返回给数据给客户端。我们的做法是H5页面框架包包括CSS、JS、图片放到本地,相当于本地有一个http的代理服务器。当用户访问App的时候,我们调用的是本地的H5页面。当这个页面需要加载一些数据,这个时候JS才会去服务端拉取数据。

当然H5其实现在有很多的特性,如:LocalStorage、SessionStorage这里面都可以存储很多数据,比如说购物车信息、浏览信息都可以缓存在里面,不用去服务器端去取。通过这样的方式可以加速整个的App页面的加载速度。

图二

可能有的朋友会问,安全机制怎么办?如果在App客户端有一个所谓的代理服务器,那相当于是服务器跨域调用服务器,在安全机制上可能会存在一些问题。当然你在设计移动端的时候,你要有服务调用的安全认证机制,首次访问通过认证后获取动态令牌,以后每次调用通过动态令牌进行身份认证。

这就是大致的一个H5本地包缓存的机制,用户请求本地App的时候,同时会去服务器端校验,当前是不是最新的版本,如果不是最新版本就去服务器端拉最新的H5包回来,当然也可以由服务器端进行主动推送消息,通知客户端更新。

SOA服务端的架构

接下来看服务端的SOA架构,这个部分涵盖了从数据层、访问层、基础服务、核心服务,如图三,最上面的就是面向终端用户的网站和App。基础服务层其实就是有没有封装业务逻辑的,一般业务逻辑是封装在核心服务层,基础服务层只是提供一些原子类的数据操作。

图三

我们在设计SOA架构的时候,我们需要注意:核心服务层要能够实现隔离、保护、降级等功能。举个例子,比如说价格服务,其实在团购、购物车、促销这些模块当中都会涉及到价格。但是你在部署的时候你可能要做一个隔离,就是哪些机器上部署的服务只给团购用,哪些服务只给购物车用。

这样的好处是在极端情况下,做“过载保护”的时候更容易一些,比如说大促的时候压力是来自购物车或者是详情页,如果说不是针对团购的,可以把团购这边的价格服务少放几台机器,把这些机器都调到压力大的业务中去。还有就是对服务的监控、负载均衡等等,需要有一套的服务治理平台进行管理。

整体的架构,如图四,从App端到服务端的架构示意图,最底层的服务端就是我们上面所讲到的SOA的架构。在SOA之上,我们会加一层分发层,它有很多的适配器,它是专门用来让服务去适配各类平台的。这些服务是供移动App、PC站、B2B、团购等等系统进行调用,每一个平台端所获取的数据其实是不太一样的。

图四

以购物车为例,在移动端的购物车和PC端的购物车其实所展现的信息是不一样的。在PC端你可以展示很多的促销商品、活动。但是在移动端可能就没有那么多的空间来展示。因此这个时候,我们对购物车所要提供的数据,我们可能会做一个适配。这是这个架构当中所需要注意的一点。

如果说你们公司只有一个App,只有H5站,没有PC站,那问题不大。但多数的公司可能本来主要的业务是在PC端,移动时代来了之后,它才把这些业务迁移到移动APP当中,这种公司就要注意架构上的设计问题。

基于容器的虚拟化

接下来我们了解一下弹性云架构,是基于容器技术的虚拟化。这是容器的特点,容器和传统的虚拟机相比,以一台4核16G物理机为例,传统的虚拟机只能「1虚5」,一台物理机可以虚出5台虚拟机;而Docker技术起码是10到15台。这个利用率就提升2-3倍,这是其中的一个好处。另外一个就是磁盘空间和网络传输量,举个例子,我们使用一台物理机虚拟了10个Docker,你可以在这一台机器上部署不同的服务,这些服务相当于是本机通讯,这样可以减少网络传输。

Docker服务器的特点是启动快,创建项目、启动/停止几秒内就可以完成。如果说是传统的虚机的技术,那你装机、部署一个应用,做配置要多久,即便是自动化,起码也要几分钟,而且几分钟已经也算是快的了。这是一个非常显著的优点。

另外你在做装机模板的时候,你可以把你的应用和你的环境、操作系统做成一个镜像。你在安装容器的时候,可以在几十秒把环境和服务、应用快速的建立起来。

容器运行的环境如图六。这里面大家稍微了解一下。在操作系统之上会构建Docker的环境,在Docker之上会有API管理平台,会对Docker做一些监控、管理、分配空间等等。这是更细的一个Docker的工作环境,我就不详细阐述了。

图六

这是单台物理机当中的整个结构。从最底端的物理机到操作系统,到上面的Docker平台,到Docker平台上的每一个容器,每一个容器上部署的nginx也好,或者是Java环境,JDK+tomcat这些。

关于电商的私有云建设

刚刚介绍了容器,其实当你的企业机器足够多的时候,几百台上千台时候,你应该构建一个私有云的平台。

图七

如图七所示的私有云整体框架,包括IaaS、SaaS和PaaS,我们所谓的私有云其是在PaaS这一层,包括存储、网络、缓存等等。

这是私有云的一个管理平台,如图八。如果说你有几百台上千台机器,你需要对这些资产,对每个月产生的这些流量、带宽的费用都非常清楚,你作为一个运维管理人员,当老板问你,我们一个月的带宽、CDN、第三方监控的费用情况,你要能够回答出来。以及当应用出现问题的时候,你的硬件出现一些问题,你有没有对这些事件进行跟踪管理。当我们的系统出问题的时候,我们可以很快从这个问题管理平台当中找原因。

图八

比如说10点我们的系统出现问题,报警了。你在处理的时候,你首先关注的是什么?是前5个报警的信息,最开始的报警的是网络不通,接下来负载飙高了,有很多服务不可用了,导致有一些应用开始报警了,这些都是一连串的反应,最重要的就是要先解决前面的几个错误,因为如果拖久了,所有的应用都报错了,你更不知道是哪里出问题了。

除此之外还要有自动发布的平台以及你的应用和配置需要进行分离,数据库的链接、环境变量的配置等等都要一个独立的配置中心去做配置。其他的就不细讲了,这些都是我们做运维时所需要的一些工具。

-END-

欢迎关注“互联网架构师”,我们分享最有价值的互联网技术干货文章,助力您成为有思想的全栈架构师,我们只聊互联网、只聊架构,不聊其他!打造最有价值的架构师圈子和社区。

本公众号覆盖中国主要首席架构师、高级架构师、CTO、技术总监、技术负责人等人 群。分享最有价值的架构思想和内容。打造中国互联网圈最有价值的架构师圈子。

  • 长按下方的二维码可以快速关注我们

  • 如想加群讨论学习,请点击右下角的“加群学习”菜单入群

如何打造高可伸缩的移动电商架构?相关推荐

  1. 大型电商架构亿级流量电商详情页系统实战-缓存架构+高可用服务架构+微服务架构(七)

    文章目录 八十九.高并发场景下恐怖的缓存雪崩现象以及导致系统全盘崩溃的后果 九十.缓存雪崩的基于事前+事中+事后三个层次的完美解决方案 九十一.基于hystrix完成对redis访问的资源隔离以避免缓 ...

  2. ActiveMQ+Redis+Dubbo+SpringMVC+Mybatis高并发高集群分布式电商项目视频课程(免费不加密)

    ActiveMQ+Redis+FastDFS+Dubbo+Nginx+SpringMVC+Mybatis高并发高集群分布式电商项目视频课程 分布式实战项目1.mp4 分布式实战项目2.mp4 分布式实 ...

  3. 双11之后,国际、大型、创业、传统、搜索等电商架构首次深度较量

    双11异常火爆,不管是销售数字,还是用户体验,这次全民购物狂潮再次刷新了过去的所有记录.而在这一切背后,需要稳定高效的系统架构设计来提供有力支持.为此,我们在11月18日-20日,中国软件开发者大会上 ...

  4. 双11之后,七大电商架构主题的首次深度较量

    双11异常火爆,不管是销售数字,还是用户体验,这次全民购物狂潮再次刷新了过去的所有记录.而在这一切背后,需要稳定高效的系统架构设计来提供有力支持.为此,我们在11月18日-20日,中国软件开发者大会上 ...

  5. 【SDCC 2016】电商架构专题干货七连发:探秘知名电商架构最佳技术实践

    [CSDN现场报道]2016年11月18日-20日,由CSDN重磅打造的年终技术盛会 -- "2016中国软件开发者大会"(Software Developer Conferenc ...

  6. 大型电商架构亿级流量电商详情页系统--实战 服务降级

    86_电商网站的商品详情页缓存服务业务背景以及框架结构说明 我们这个课程,基于hystrix,如何来构建高可用的分布式系统的架构,项目实战 模拟真实业务的这么一个小型的项目,来全程贯穿,用这个项目中的 ...

  7. 亿级流量电商详情页系统设计与实战-小型电商架构VS大型电商架构

    一.电商详情页架构大致分析 电商网站里,大概可以说分成两种: 传统小型电商网站,主要采用页面静态化的架构方案. 大型电商网站,使用较复杂的一套架构方案,商品详情页的系统架构 -> 缓存架构 -& ...

  8. 鏖战双11,电商架构大起底

    摘要:2014年双11异常火爆,不管是销售数字,还是用户体验,这次全民购物狂潮再次刷新了过去的所有记录.而在这一切背后,需要稳定高效的系统架构设计来提供有力支持.本文揭示了国内各大知名电商架构设计的最 ...

  9. 阿里电商架构演变之路

    前言:从网上找的首届阿里中间件技术峰会上的一个报告,2017年7月的,报告的名字叫阿里电商架构演变之路,感觉不错所以看了一遍,在此记录一下,复制了其中大部分内容,并进行了整理,然后在晦涩之处用自己的语 ...

  10. 探秘双“11”征服马云刘强东的电商架构 !

    在刚刚过去的"双11",阿里巴巴和京东两大巨头双双创造新的购物纪录:阿里巴巴天猫全天成交额达1682亿元,打破去年1207亿元的纪录:京东全天下单金额超1271亿元,同比增长超过5 ...

最新文章

  1. powerbuilder 保存图表图像_数据可视化/统计图表循序渐进指南
  2. 《程序是怎样跑起来的》(上)
  3. Mysql批量更新的三种方式
  4. HipHop PHP HHVM资料收集
  5. Android音频框架笔记 - 上篇
  6. Redis 中文入库成功,读取数据写入文件乱码问题
  7. 485串口测试工具软件_【实例】如何用串口软件调试变频器?
  8. 对称式加密与非对称式加密的对比
  9. 拍乐云基于AV1的实时视频系统技术实践 | 2021 LiveVideoStackCon 演讲回顾
  10. java毕业设计成品基于SSM+Bootstrap+MYSQL演唱会网上订票系统
  11. 测绘地理信息标准规范汇总下载
  12. 推荐一个 推理屋 网站
  13. http下载异常_荏苒项目二:配置(日志,异常,数据库,前端,跨域CORS)
  14. 基于K-Means的文本聚类
  15. 帮我写一个X波段小型化带通滤波器开题报告
  16. 50 条有趣的 Python 一行代码
  17. SQL Server视频
  18. torch norm() Formalize()
  19. 通过余弦相似度找物品之间的联系
  20. Android6.0添加usb转网口

热门文章

  1. 夏日葵电商:从5大方面谈微信商城怎样提高用户体验度
  2. PCM音频设备的操作(转)
  3. Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换...
  4. 配置zend studio的代码格式化文件及远程单步调试
  5. 智能客户—ERP技术新方向
  6. Parallels Desktop 17 “操作失败 执行该操作失败”的解决方法
  7. 在苹果Mac中使用 CleanMyMac X 清理垃圾时频繁要求输入密码如何解决?
  8. iOS开发使用TouchID验证登录踩过的一些坑(同时更新FaceID使用方法)
  9. 纯净菜单栏优化管理:Bartender 4 for Mac支持 Monterey
  10. Mac是否需要始终打开Time Machine驱动器?