电商系统学习笔记之一系统架构

2021-10-02 閱讀:1075
分類:技术干货
如何解决高并发问题?传统的系统机构一般是表现层-业务处-持久层-数据库

1.如何解决高并发问题

电脑系统架构一般如下所示:

电商系统学习笔记之一系统架构

传统的系统机构一般是表现层-业务处-持久层-数据库,如下图所示

电商系统学习笔记之一系统架构

对于访问量下的网上电子商城系统,没有问题,如果如果访问量大,根本无法支撑。比如如果服务器用tomcat,tomcat支持的最大并发数理论值也就500左右。实际应用中,能到200,300就很不错了。

1.1 如果解决访问量大的问题?

一般采用负载均衡,进行loadbalance,我们常说的nginx反向代理实现负载均衡,其实是作用于代理层到服务层,在实际应用中,一个负载均衡的系统如下所示:

参考文档:http://developer.51cto.com/art/201609/517313.htm

电商系统学习笔记之一系统架构

hash算法解释,本质是一个压缩映射,好的hash算法可以减少冲突,并且使结果相对均匀。一个好的hashcode方法通常最好是不相等的对象产生不相等的hash值,理想情况下,hashcode方法应该把集合中不相等的实例均匀分布到所有可能的hash值上面:

电商系统学习笔记之一系统架构

1.2 如何处理session,数据共享

网上商城系统网站分布式环境下,每次请求可能分布到不同到server,如何记录用户到状态?比如用户登录后,点击收件箱,然后再进入发件箱,这个请求被分发到另外到server,而这个server根本没有当前用户到session。所以在分布式环境下解决session共享问题,主要有一下集中策略:

1.粘性session

利用ip hash,同一个用户到请求分发到一个server。可以这么做,但是不建议。

站点层无状态是分布式架构设计的基本原则之一,session最好放到数据层存储

2.session复制(多个tomcat可以配置集群,实现session同步)

每当session变化时,比如新建或者修改,广播给所有的server,进行session同步

3.session集中存储

利用redis集中管理session

4.session持久化到数据库

第三种是我们常用到方法,也是比较简单到

1.3 系统拆分

除了增加服务节点,提供系统处理能力,把系统拆分,因为各个模块到并发程度不同,我们可以分别处理。服务拆分后,业务功能就需要多个service协调完成,这个就是分布式系统。分布式系统和集群到概念不同:

分布式:多个servcie协同完成业务处理,service需要相互通信

集群:同一个工程到部署到多个server

分布式架构的优点:

1.把模块拆分,使用接口通信,降低模块之间的耦合度。

2.把项目拆分成若干个子项目,不同的团队负责不同的子项目。

3.增加功能时只需要再增加一个子项目,调用其它系统的接口就可以。

4.可以灵活的进行分布式部署。

 有优点就有缺点,缺点如下:

1.系统之间交互需要使用远程通信,接口开发增加工作量。

2.各个模块有一些通用的业务逻辑无法共用。

电商系统学习笔记之一系统架构

 

文章来源:CSDN

编者:云朵匠 | 数商云(微信ID:shushangyun_com)

<数商云(www.shushangyun.hk)是全球知名的企业级电子商务系统开发商,为企业提供专业的电商系统开发解决方案,其产品服务包含:B2B电子商务系统建设B2B2C多用户商城系统开发B2C电商平台搭建、新零售电商、社交电子商务平台、视频直播平台、大数据电商平台、跨境进出口电商平台等等各行业大型电子商务平台搭建服务,其产品优势:系统安全性高、可扩展性强、集群式部署、支持高并发量和高访问量>

电商网站开发 电子商务网站制作

相關文章

推薦文章

最新文章

電話咨詢 在線咨詢 方案/報價
首頁 產品中心 電商開發服務 電商解決方案 成功客戶案例 電商學院 關於我們