大型电子商务网站系统架构的演变

随商电商系统2018-12-24 09:50:27电商资讯

一个成熟的大型独立商城网站(如淘宝,天猫,腾讯等)的系统架构在设计之初并没有完全高性能,高可用性,高扩展性等,它随着用户数量的增加而增加。业务功能的扩展已逐渐发展。在这个过程中,开发模型,技术架构和设计思想也发生了很大的变化。甚至技术人员也从几个人发展到一个部门甚至一个产品线。因此,随着业务的扩展,成熟的在线电子市场系统架构逐渐得到改善,而不是一次性的。

不同的系统业务特点,会有自己的重点,比如淘宝,解决大量搜索,订购,支付腾讯等,解决数亿用户的实时短信传输,百度它有处理大量搜索请求时,它们都有自己的业务特征,而且系统架构也不同。但是,我们也可以找到这些不同电子商务网站共享的技术。这些技术和手段广泛用于大型网站系统的体系结构中。以下是大型网站系统演变过程的介绍。技术和手段。

首先,最初的网站架构

原始体系结构,应用程序,数据库和文件都部署在单个服务器上,如图所示:

二,应用程序,数据,文件分离

随着服务的扩展,一台服务器无法再满足性能要求。因此,应用程序,数据库和文件都部署在单独的服务器上,并根据服务器的目的配置不同的硬件以实现最佳性能。

第三,使用缓存来提高网站性能

在优化硬件性能的同时,它还通过软件优化性能。在大多数网站系统中,缓存技术用于提高系统性能。缓存主要源于热数据的存在。大多数网站遵循28条原则。 (即80%的访问请求,最终落在20%的数据上),因此我们可以缓存热点数据,减少这些数据的访问路径,并改善用户体验。

缓存实现的常用方法是本地缓存和分布式缓存。当然,还有CDN,反向代理等,这将在后面讨论。顾名思义,本地缓存在应用程序服务器上本地缓存数据,并且可以存在于内存中。 在中间,也可以有文件,OSCache是​​常用的本地缓存组件。本地缓存以其速度为特征,但由于局部空间有限,缓存数据量有限。分布式缓存的特点是它可以缓存大量数据,并且扩展非常容易。它通常用于门户网站。速度不如本地缓存快。常用的分布式缓存是Memcached和Redis。

第四,使用集群来提高应用服务器性能

应用程序服务器充当网站的门户,并将承担大量请求。我们经常通过应用程序服务器集群共享请求数。应用服务器部署在负载均衡服务器前面,用于调度用户请求,并根据分发策略将请求分发到多个应用服务器节点。

常用的负载均衡技术硬件有F5,价格相对昂贵,软件有LVS,Nginx,HAProxy。 LVS是一个四层负载平衡。根据目标地址和端口选择内部服务器。 Nginx和HAProxy是七层负载平衡。可以根据数据包内容选择内部服务器。因此,LVS分布路径优于Nginx和HAProxy,性能更高。 Nginx和HAProxy更易于配置,例如可用于动态分离(根据请求消息特征选择静态资源服务器或应用程序服务器)。

五,数据库读写分离和子库表

随着用户数量的增加,数据库成为最大的瓶颈。提高数据库性能的常用方法是执行读写分离和子数据库分区。顾名思义,数据库分为读写库,并实现主要和备份功能。数据同步。子库表分为水平分割和垂直分割,水平分割是数据库优秀表的分割,例如用户表。垂直分割根据不同的服务划分,例如用户业务和商品业务相关的表放在不同的数据库中。

第六,使用CDN和反向代理来提高网站性能

如果我们的服务器部署在成都的计算机房中,四川的用户访问速度更快,而且访问北京的用户速度较慢。这是因为四川和北京属于中国电信和中国联通的不同发达地区。北京用户接入需要通过互联路由器经过成都服务器的长路径,返回路径相同,所以数据传输时间比较长。在这种情况下,CDN通常用于解决问题。 CDN将数据内容缓存在运营商的计算机房中。当用户访问时,从最近的运营商获得数据,这极大地减少了网络访问的路径。更专业的CDN运营商拥有蓝色和网络。

反向代理部署在网站的网站上。当到达用户请求时,首先访问反向代理服务器,反向代理服务器将缓存的数据返回给用户。如果没有缓存数据,则继续访问应用程序服务器。少花钱可以降低获取数据的成本。反向代理是Squid,Nginx。

七,使用分布式文件系统

用户日益增多,业务量越来越大,生成的文件越来越多,单个文件服务器无法满足需求。此时,需要支持分布式文件系统。常用的分布式文件系统是GFS,HDFS和TFS。

八,使用NoSql和搜索引擎

对于海量数据的查询和分析,我们可以通过使用nosql数据库和搜索引擎来获得更好的性能。并非所有数据都放在关系数据中。常用的NOSQL是mongodb,hbase,redis,搜索引擎有lucene,solr和elasticsearch。

九,应用服务器拆分业务

随着业务的进一步扩展,独立的商城系统应用程序变得非常臃肿。目前,我们需要将应用程序拆分为业务。例如,百度分为新闻,网页,图片和其他服务。每个业务应用程序负责相对独立的业务操作。企业通过消息或共享数据库进行通信。

X.构建分布式服务

此时,我们发现每个业务应用程序都使用一些基本的业务服务,例如用户服务,订单服务,支付服务和安全服务,它们是支持每个业务应用程序的基本元素。我们提取这些服务并使用分布式服务框架来构建分布式服务。 Ali's Dubbo是个不错的选择。

摘要

根据业务需求不断改进大型网站系统的架构。根据不同的业务特点,将进行具体的设计和考虑。本文仅介绍常规大型网站中涉及的一些技术和方法。

资料来源:CDSN


随商信息技术(上海)有限公司 b2b2c多用户商城系统是基于PHP技术的企业级电子商务平台系统,系统支持平台自营、招商加盟和多商家入驻、集成微信商城、移动端APP商城、微信小程序于一体。公司主营业务包含商城系统定制开发、新零售系统解决方案、电商平台系统定制开发、商城网站建设服务等等,随商为大、中、小企业提供一个安全、高效、强大的电子商务解决方案,协助企业快速构建、部署和管理其电子商务平台,拓展企业销售渠道,致力于推动PHP技术和电子商务行业的发展而不断努力。

文章关键词  
门户网站系统
电商网站开发
电子商务网站设计

除了供应标准网上商城系统之外,我们还开源商城源码,为您提供电商平台开发定制服务

随商全新版PHP企业级电商平台系统,以客户需求为己任,提供免费网店系统源码给用户体验,为国内客户特别是上海周边客户提供电商平台及网上商城网站建设服务,您的商城开发建站需求,我们来实现!

网上商城建站
包含微信商城网站建设及小程序商城建设等一站式电商系统建站服务,java商城php商城 两种语言。
APP开发
提供APP商城开发,包含Android App 、iOS App等等, 原生APP品质
手机商城开发
提供APP商城、微信商、小程序、手机H5商城搭建及二次开发
电商平台开发
作为电子商务系统提供商,以自研的商城模板为企业提供专业的电商平台系统搭建服务

马上搭建自己的电商平台