mysql电商平台的技术架构是什么

发布时间:2022-03-18 16:28:29 作者:iii
来源:亿速云 阅读:226

这篇文章主要讲解了“mysql电商平台的技术架构是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql电商平台的技术架构是什么”吧!

一、电商平台标准化套件

A.商城系统

1.设置:站点设置;帐号同步;上传设置;SEO设置;消息通知;支付方式;权限设置;配送地区;

2.商品:分类管理;品牌管理;商品管理;图片空间;

3.店铺:店铺管理;店铺等级;店铺分类;二级域名;

4.会员:会员管理;积分管理;预存款;分享绑定设置;买家动态;

5.交易:订单管理;退款管理;咨询管理;举报管理;评价管理;投拆管理;

6.网站:文章分类;文章管理;系统文章;页面导航;广告管理;首页管理;推荐位;

7.运营:基本设置;团购管理;兑换礼品;活动管理;

8.统计:会员统计;店铺统计;销量分析;商品分析;营销分析;

B.圈子(BBS)

圈子设置;成员头衔设置;圈子分类管理;圈子管理;圈子话题管理;圈子成员管理;圈子举报管理;

C.CMS(文章管理系统)

CMS管理;首页管理;文章管理;文章分类;画报分类;专题管理;标签管理;评论管理;

D.移动端

首页设置;分类图片设置;下载设置;

二、电商平台的技术架构

A.应用服务器

1.两大类:前端服务器(主要完成用户的响应)、后端服务器(主要完成数据处理)

2.Nginx在内存分配方面表现良好,使用多线程来处理请求,使得多个线程之间可以共享内存资源,从而使内存使用量大大减少。此外还使用分段内存分配策略,按需分配及时释放,总体占用内存很小,可支持较大的并发连接。

B.负载均衡

1.F5(F5 BIG-IP),官方名称为本地流量管理器,可做4-7层负载均衡。

2.LVS(Linux Virtual Server),针对大业务量的网络应用(如新闻服务、网上银行、电子商务等)。抗负载能力最强,配置简单,工作稳定(LVS+Keepalived),应用范围比较广。

⑴LVS三种工作模式:

①VS/NAT(Virtual Server Via NAT),网络地址转换技术,由一台负载均衡服务器和后端几台真实服务器组成了一个服务器集群。优点:只需要一个IP地址配置在调度服务器上,服务器组可以用私有的IP地址。缺点:伸缩能力有限。

②VS/TUN(Virtual Server via IP Tunneling),连接调度和管理与VS/NAT中的一样,只是报文转发方法不同。优点:可以极大地增加负载调度的服务器数量,可以用来构建高性能的超级服务器。要求所有的服务器必须支持“IP Tunneling”或“IP Encapsulation”协议。

③VS/DR(Virtual Server via Direct Routing),调度器根据各个服务器的负载情况,动态地选择一台服务器,不修改也不封装IP报文,而是将数据帧的MAC地址改为选出服务器的MAC地址,再将修改后的数据帧向服务器组的局域网上发送。要求负载调度器与实际服务器都有一块网卡连在同一物理网段上,服务器网络设备不作ARP响应,或者能将报文重定向到本地的Socket端口上。

⑵LVS的调度算法

轮询调度;加权轮询调度;最小连接调度;基于局部性的最小连接;待复制的基于局部性的最小连接;目标地址散列调度;源地址散列调度;

3.Nginx:可以按轮询、IP_HASH、URL_HASH、权重等多种方法对后端服务器进行调度,同时也支持健康检查。对网络依赖性小,工作在第7层。

4.HAProxy:能够补充Nginx的一些缺点,如Session保持,Cookie引导等;支持URL检测;从效率上讲,优于Nginx;可以对MySQL读操作进行负载均衡;

C.缓存

1.两部分:文件缓存(静态内容)、数据缓存 

2.客户端缓存:Header(“Cache-control:must-revalidate”);Header(“Expires:”.gmdate(“Did M Y H:i:s”,time()+(60*60*24*30)));//30天过期php

3.CDN加速

4.静态文件缓存:Varnish/Squid

5.数据缓存:memcache、redis

D.数据存储

1.关系型数据库:MySQL、Oracle、SQL Server

2.内存型数据库:Redis、MongoDB(文档型)

3.分布式数据库:HBase

4.MySQL可扩展方案:MySQL Cluster;DRBD硬盘网络镜像;MySQL Repliction(推荐);MySQL数据切分;

5.数据切分:通过某种特定算法,将存放在同一个库(表)中的数据分散存放到多个库(表)中,以达到分散单台设备负载的效果。

6.垂直切分:按照不同的表来切分到不同的数据库(主机)之上。规则简单,实施方便,适合各业务之间的耦合度非常低,相互影响小,业务逻辑清晰的系统。

7.水平切分:根据表中数据的逻辑关系将同一个表中的数据按照某种算法拆分到多个表中。拆分规则本身就较根据表名来拆分更为复杂,后期数据维护也更复杂,但对于减轻系统压力来说更好,是在高并发大数据下的推荐处理方法。

E.文件存储

共享存储:NFS

文件存储:HDFS、FastDFS

F.消息队列

ActiveMQ;Gearman;MemcacheQ;RabbitMQ;HTTPSQS;淘宝MetaQ;NSQ等,另外基于Memcache/Redis的消息队列也易部署、易维护和易扩展。

G.搜索设计

lucene、sphinx以及国产xunsearch

三、商城套件的设计与实现

A.会员模块

1.模块构成:注册后默认为买家。如果想申请为卖家,则需要在注册后提交商家入驻申请,经过审核后成为卖家。买家卖家登录口独立存在。作为网站的基础,基本涉及了网站各个模块。

2.设计思路:

①设计要求:

②数据表设计

③模块设计

3.开发和使用

会员合理分层;运用口碑营销;了解会员的生命周期;会员关怀;合理全面的会员数据分析;

B.商品模块

1.几个小模块:商品分类;品牌;类型;规格与规格值;属性与属性值;商品;

2.模块构成:

①商品分类:新增、编辑、删除、导入导出,很少修改,缓存文件

②品牌:新增(平台添加及商家添加,商家添加需要审核)、编辑、删除

③规格与规格值:平台进行增删改,店铺只能根据规格添加规格值

④类型与属性:平台进行操作

⑤商品:由店铺进行增删改。平台可审核,可以删除。

3.设计思路:

①商品相关数据表设计

②平台管理商品的相关设计思路

平台管理员需要先完成对商品分类、品牌、类型、规格、属性的设置

③商家发布商品的设计思路

设置规格值;商品图片;图片空间;库存报警;关联板式;

④用户检索商品的设计思路

使用全文检索

3.代码实现

删除商品分类时需要清理与商品分类相互关联的数据;

C.促销模块

1.模块构成:

①常用促销方式:

2.设计思路

①业务的设计原则

②模块设计实例(团购模块)

3.开发和使用

开发原则:简单易懂、吸引眼球、灵活组合、数据统计

注意:利人利已、搭配使用、不繁琐、吸引力足够、实事求是、一诺千金

D.购物车模块

1.模块构成:添加、删除、编辑、收藏商品的功能

2.设计思路

①设计要求:

②数据表设计

③购物车模型设计

E.配送模块

1.模块构成:平台需要初始化一些基本信息,如全国或地方性的地区行政区域、主要的快递公司等;商家 需要设置快递公司,;运费模板不但支持不同地区不同运费,还避免了商家对商品运费的重复设置,减轻工作量;买家下单时,要设置收货信息,系统据此来计算运费。

2.设计思路

①设计要求

②数据表设计:收货地址表、发货地址库表、货到付款区域表、运费模板表等

3.功能实现

①配送区域:一是标准的行政区域设置;另一个是货到付款区域的设置;配送地区页面的加载时的全部地区数据都由服务器端来完成,在加载页面时,将已支持货到付款县ID放入JS数组中,在编辑地区时,上级地区是否选中以及数量的变化由客户端JS来完成

②配送公司:至少包含公司名称、网址、公司代码等

③收货地址:可以保存N个,设置一个默认收货地址

F.订单模块

1.设计思路

①订单状态

②订单金额

指订单中涉及金钱元素的统称,至少包括商品单价、商品总价、订单总金额、优惠金额、运费、代金券面额、退款金额等

③订单编号

建义可以充分考虑时间、随机数、商家ID、会员ID、自增ID这些相关元素,设计的目的就是保证在高并发下,订单编号 的重复几率降到最低

④库存

⑤合并支付

可以把不同商家订单进行合并统一支付

⑥角色权限 

⑦表设计

2.下单

系统在产生订单时会做大量的处理工作,比如处理收货信息、发票信息、促销信息、运费、代金券、支付单、订单、日志等。

G.支付接口

1.接入支付结果两种方式:一种是同步的,通过浏览器进行跳转通知;一种是异步的,即服务器后端执行。

2.设计要求:安全性;数据完事性(事务处理);扩展性;

3.数据库设计:至少包含支付方式的名称和标识码,标识码要与支付接口API程序有些话的目录名一致,此外还要保存序列化后的支付接口配置信息及支付接口状态;

H.退单模块

1.设计思路

①在有新退款或退货申请但又没完成订单(确认收货时),为防止产生纠纷,要锁定订单状态

②退货:在退款流程基础上增加了买家发货和商家收货的步骤。

③当商家不同意退款或退货时,买家可再次申请,也可以向平台投诉商家 ,提交相关证据,由系统管理员做仲裁。

④可以使用一个表,用一个字段标识是退款还是退货

⑤退款退货原因是由系统管理员在后台录入,买家在提交申请时选择。

2.开发技巧

①要先定好规则、理清思路,对于逻辑中有不明白的地方,及时沟通解决。

②尽量做到代码的利用,一定要进行服务器端的数据验证。

I.结算模块

结算是平台和商家之间的账单结算,定期结算,出账后系统会等待商家对账单进行确认,如果无误,商家确认后进入系统审核环节,系统审核后提交到财务部门进行付款操作;付款完成后,在后台录入付款相关信息,账单结算完成。

1.设计思路

①数据表设计:账单表,包括日期、订单总金额、总运费、退单总金额、佣金总金额、退还佣金金额、店铺费用、应结金额以及结算状态等字段;账单汇总表是对每个月所有商家结算信息的统计汇总;

②结算流程设计:出账,系统自动计算出本月的结算账目

【执行时机】自动与手动;

【结算对象】上个月发生的交易完成的订单或退单;

【计算公式】订单金额、佣金金额(佣金=商品实际售价*购买数量-优惠分摊金额)、退单金额、退还佣金、店铺促销费用;

③平台应付金额=订单金额-佣金金额-退单金额+退还佣金-店铺促销费用;

④对账:平台提供出信息,核对无误后确认并提交平台审核。审核后进行财务流程进行支付,付款完成后输入相关付款信息并提交,结算流程完成。

J.统计模块

1.让数据分析介入运营:以数据为基础,智能地制定运营决策;以数据为目标,有效执行运营计划;以数据为依据,优化商务过程;

2.模块构成:

①浏览量(PV),浏览器加载网页次数的总和;

②访客数(UV),用Cookie确定绝对统一访问者;

③转化率,指产生实际消费的客户和来到网站的总客户数量的比值。成交转化率=成交客户数/总访客数;

④平均访问深度,指用户在一次浏览你的网站的过程中浏览了你网站的页数,就是PV和UV的比值;

如何提高访问深度?

⑤网站人均停留时间,平均网站停留时间=网站总停留时间/会话的数量(访次)

⑥页面跳失率,指访客到达该目标页面,到达后没有继续访问该网站其他页面既离开,称之为一次Bounce!也就是跳失了。跳失率=浏览了该页面就离开的访问次数/该页面的全部访问次数;

⑦下单商品数

⑧商品下单量

⑨客单价,指一定时间内网站每一个会员平均购买商品的金额,即平均交易金额。客单价=销售总额/顾客总数,或者客单价=销售总金额/成交总笔数;

⑩重复购买率,指消费者对该产品或者服务的重复购买次数。一是,所有购买过产品的顾客,以每个人为独立单位重复购买产品的次数;另一种算法是单位时间内,重复购买的总次数占比;推荐第一种;

3.设计思路

①数据本身的设计原则

②业务层次的设计原则

③模块设计的设计原则:可移植性;扩展性;简便性和直观性;缓存的运用;

④数据表的设计原则

⑤多建立缓存数据表;字段简洁,减少复杂判断;必要的冗余字段,减少联查(会员名称、商品名称、店铺名称等等);

4.开发使用

①数据运营应注意以下几点问题:

②人的问题:对数据的重视应该从领导做起;

③实际运用:将数据实际使用起来;

④不要最好只求合适:选择一个数据挖掘算法时,要弄清楚它是否适合我们要解决的问题;

⑤求真实:挖掘时尽可能提取有效信息;

⑥重复性:需要一段时间重新挖掘;

⑦数据积累:数据分析需要积累一定量的数据,经过数据挖掘得出的结果才有说服力;

⑧快速反应:数据产生后快速瓜,得出结果,使效果最大化;

K.预存款

1.会员对预存款主要有三种操作:充值、提现和购物

2.设计思路

①设计要求:安全性;数据完整性;

②数据表设计:

感谢各位的阅读,以上就是“mysql电商平台的技术架构是什么”的内容了,经过本文的学习后,相信大家对mysql电商平台的技术架构是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. Worktile 技术架构概要
  2. 电商平台使用什么虚拟主机

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql

上一篇:TCP/IP的基础知识有哪些

下一篇:mysql大型网站技术架构核心原理是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》