K8凯发

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

K8凯发电商系统?2018-12-24 09:50:27?电商资讯?

K8凯发

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

分歧的系统业务特点 ,会有自己的沉点 ,好比淘宝 ,解决大量搜索 ,订购 ,支付腾讯等 ,解决数亿用户的实时短信传输 ,百度它有处置大量搜索要求时 ,它们都有自己的业务特点 ,并且系统架构也分歧 。但是 ,我们也能够找到这些分歧电子商务网站共享的技术 。这些技术和伎俩宽泛用于大型网站系统的系统结构中 。以下是大型网站系统演变过程的介绍 。技术和伎俩 。

首先 ,最初的网站架构

原始系统结构 ,利用法式 ,数据库和文件都部署在单个服务器上 ,如图所示:

%25E5%25A4%25A7%25E5%259E%258B%25E7%2594%25B5%25E5%2595%2586%25E7%25BD%2591%25E7%25AB%2599%25E7%25B3%25BB%25E7%25BB%259F%25E6%259E%25B6%25E6%259E%2584%25E6%25BC%2594%25E5%258F%2598%25E8%25BF%2587%25E7%25A8%258B-1

二 ,利用法式 ,数据 ,文件分离

随着服务的扩大 ,一台服务器无法再满足机能要求 。因而 ,利用法式 ,数据库和文件都部署在单独的服务器上 ,并凭据服务器的主张配置分歧的硬件以实现最佳机能 。

%25E5%25A4%25A7%25E5%259E%258B%25E7%2594%25B5%25E5%2595%2586%25E7%25BD%2591%25E7%25AB%2599%25E7%25B3%25BB%25E7%25BB%259F%25E6%259E%25B6%25E6%259E%2584%25E6%25BC%2594%25E5%258F%2598%25E8%25BF%2587%25E7%25A8%258B-2

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

在优化硬件机能的同时 ,它还通过软件优化机能 。在大无数网站系统中 ,缓存技术用于提高系统机能 ;捍嬷匾从谌仁莸拇嬖 。大无数网站遵循28条准则 。 (即80%的接见要求 ,最终落在20%的数据上) ,因而我们能够缓存热点数据 ,削减这些数据的接见蹊径 ,并改善用户履历 。

%25E5%25A4%25A7%25E5%259E%258B%25E7%2594%25B5%25E5%2595%2586%25E7%25BD%2591%25E7%25AB%2599%25E7%25B3%25BB%25E7%25BB%259F%25E6%259E%25B6%25E6%259E%2584%25E6%25BC%2594%25E5%258F%2598%25E8%25BF%2587%25E7%25A8%258B-3

缓存实现的常用步骤是本地缓存和散布式缓存 。当然 ,还有CDN ,反向代理等 ,这将在后面会商 。顾名思义 ,本地缓存在利用法式服务器上本地缓存数据 ,并且能够存在于内存中 。 在中央 ,也能够有文件 ,OSCache是??常用的本地缓存组件 。本地缓存以其速度为特点 ,但由于部门空间有限 ,缓存数据量有限 。散布式缓存的特点是它能够缓存大量数据 ,并且扩大极度容易 。它通常用于门户网站 。速度不如本地缓存快 。常用的散布式缓存是Memcached和Redis 。

第四 ,使用集群来提高利用服务器机能

利用法式服务器充任网站的门户 ,并将承担大量要求 。我们时时通过利用法式服务器集群共享要求数 。利用服务器部署在负载平衡服务器前面 ,用于调杜酌户要求 ,并凭据分发战术将要求分发到多个利用服务器节点 。

%25E5%25A4%25A7%25E5%259E%258B%25E7%2594%25B5%25E5%2595%2586%25E7%25BD%2591%25E7%25AB%2599%25E7%25B3%25BB%25E7%25BB%259F%25E6%259E%25B6%25E6%259E%2584%25E6%25BC%2594%25E5%258F%2598%25E8%25BF%2587%25E7%25A8%258B-4

常用的负载平衡技术硬件有F5 ,价值相对昂贵 ,软件有LVS ,Nginx ,HAProxy 。 LVS是一个四层负载平衡 。凭据指标地址和端口选择内部服务器 。 Nginx和HAProxy是七层负载平衡 D芄黄揪菔莅谌菅≡衲诓糠务器 。因而 ,LVS散布蹊径优于Nginx和HAProxy ,机能更高 。 Nginx和HAProxy更易于配置 ,例如可用于动态分离(凭据要求新闻特点选择静态资源服务器或利用法式服务器) 。

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

随着用户数量的增长 ,数据库成为最大的瓶颈 。提高数据库机能的常用步骤是执行读写分离和子数据库分区 。顾名思义 ,数据库分为读写库 ,并实现重要和备份职能 。数据同步 。子库表分为水平宰割和垂直宰割 ,水平宰割是数据库优良表的宰割 ,例如用户表 。垂直宰割凭据分歧的服务划分 ,例如用户业务和商品业务有关的表放在分歧的数据库中 。

%25E5%25A4%25A7%25E5%259E%258B%25E7%2594%25B5%25E5%2595%2586%25E7%25BD%2591%25E7%25AB%2599%25E7%25B3%25BB%25E7%25BB%259F%25E6%259E%25B6%25E6%259E%2584%25E6%25BC%2594%25E5%258F%2598%25E8%25BF%2587%25E7%25A8%258B-5

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

若是K8凯发服务器部署在成都的推算机房中 ,四川的用户接见速度更快 ,并且接见北京的用户速度较慢 。这是由于四川和北京属于中国电信和中国联通的分歧蓬勃地域 。北京用户接入必要通过互联路由器经过成都服务器的长蹊径 ,返回蹊径一样 ,所以数据传输功夫比力长 。在这种情况下 ,CDN通常用于解决问题 。 CDN将数据内容缓存在运营商的推算机房中 。当用户接见时 ,从最近的运营商获得数据 ,这极大地削减了网络接见的蹊径 。更专业的CDN运营商占有蓝色和网络 。

反向代理部署在网站的网站上 。当达到用户要求时 ,首先接见反向代理服务器 ,反向代理服务器将缓存的数据返回给用户 。若是没有缓存数据 ,则持续接见利用法式服务器 。少花钱能够降低获取数据的成本 。反向代理是Squid ,Nginx 。

%25E5%25A4%25A7%25E5%259E%258B%25E7%2594%25B5%25E5%2595%2586%25E7%25BD%2591%25E7%25AB%2599%25E7%25B3%25BB%25E7%25BB%259F%25E6%259E%25B6%25E6%259E%2584%25E6%25BC%2594%25E5%258F%2598%25E8%25BF%2587%25E7%25A8%258B-6

七 ,使用散布式文件系统

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

%25E5%25A4%25A7%25E5%259E%258B%25E7%2594%25B5%25E5%2595%2586%25E7%25BD%2591%25E7%25AB%2599%25E7%25B3%25BB%25E7%25BB%259F%25E6%259E%25B6%25E6%259E%2584%25E6%25BC%2594%25E5%258F%2598%25E8%25BF%2587%25E7%25A8%258B-7

八 ,使用NoSql和搜索引擎

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

%25E5%25A4%25A7%25E5%259E%258B%25E7%2594%25B5%25E5%2595%2586%25E7%25BD%2591%25E7%25AB%2599%25E7%25B3%25BB%25E7%25BB%259F%25E6%259E%25B6%25E6%259E%2584%25E6%25BC%2594%25E5%258F%2598%25E8%25BF%2587%25E7%25A8%258B-8

九 ,利用服务器拆分业务

随着业务的进一步扩大 ,独立的商城系统利用法式变得极度痴肥 。目前 ,我们必要将利用法式拆分为业务 。例如 ,百度分为新闻 ,网页 ,图片和其他服务 。每个业务利用法式掌管相对独立的业务操作 。企业通过新闻或共享数据库进行通讯 。

%25E5%25A4%25A7%25E5%259E%258B%25E7%2594%25B5%25E5%2595%2586%25E7%25BD%2591%25E7%25AB%2599%25E7%25B3%25BB%25E7%25BB%259F%25E6%259E%25B6%25E6%259E%2584%25E6%25BC%2594%25E5%258F%2598%25E8%25BF%2587%25E7%25A8%258B-9

X.构建散布式服务

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

%25E5%25A4%25A7%25E5%259E%258B%25E7%2594%25B5%25E5%2595%2586%25E7%25BD%2591%25E7%25AB%2599%25E7%25B3%25BB%25E7%25BB%259F%25E6%259E%25B6%25E6%259E%2584%25E6%25BC%2594%25E5%258F%2598%25E8%25BF%2587%25E7%25A8%258B-10

提要

凭据业务需要不休改进大型网站系统的架构 。凭据分歧的业务特点 ,将进行具体的设计和思考 。本文仅介绍通例大型网站中涉及的一些技术和步骤 。

资料起源:CDSN


K8凯发 b2b2c多用户商城系统是基于PHP技术的企业级电子商务平台系统 ,系统支吃旖台自营、招商加盟和多商家入驻、集成微信商城、移动端APP商城、微信幼法式于一体 。公司主交易务蕴含商城系统定造开发、新零售系统解决规划、电商平台系统定造开发、商城网站建设服务等等 ,K8凯发为大、钟注幼企业提供一个安全、高效、壮大的电子商务解决规划 ,协助企业急剧构建、部署和治理其电子商务平台 ,拓展企业销售渠路 ,致力于推动PHP技术和电子商务行业的发展而不休致力 。

文章关键词  
门户网站系统
电商网站开发
电子商务网站设计
做电商网站,找K8凯发信息技术,网站建设品牌设计企业

推荐阅读

除了供给尺度网上商城系统之表 ,我们还开源商城源码 ,为您提供电商平台开发定造服务

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

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

顿时搭建自己的电商平台

wechat_default
wechat_default
【网站地图】