大型网站架构系列:电商网站架构案例(2)

news/2024/5/19 10:54:38/文章来源:https://blog.csdn.net/weixin_30788731/article/details/99203739

转自:itfly8大型网站架构系列:电商网站架构案例(2)

电网网站架构案例系列的第二篇文章。主要讲解网站架构分析,网站架构优化,业务拆分,应用集群架构,多级缓存,分布式Session。

五、网站架构分析

根据以上预估,有几个问题:

  • 需要部署大量的服务器,高峰期计算,可能要部署30台Web服务器。并且这三十台服务器,只有秒杀,活动时才会用到,存在大量的浪费。
  • 所有的应用部署在同一台服务器,应用之间耦合严重。需要进行垂直切分和水平切分。
  • 大量应用存在冗余代码
  • 服务器SESSION同步耗费大量内存和网络带宽
  • 数据需要频繁访问数据库,数据库访问压力巨大。

 

大型网站一般需要做以下架构优化(优化是架构设计时,就要考虑的,一般从架构/代码级别解决,调优主要是简单参数的调整,比如JVM调优;如果调优涉及大量代码改造,就不是调优了,属于重构):

  • 业务拆分
  • 应用集群部署(分布式部署,集群部署和负载均衡)
  • 多级缓存
  • 单点登录(分布式Session)
  • 数据库集群(读写分离,分库分表)
  • 服务化
  • 消息队列
  • 其他技术

六、网站架构优化

6.1业务拆分

根据业务属性进行垂直切分,划分为产品子系统,购物子系统,支付子系统,评论子系统,客服子系统,接口子系统(对接如进销存,短信等外部系统)。

根据业务子系统进行等级定义,可分为核心系统和非核心系统。核心系统:产品子系统,购物子系统,支付子系统;非核心:评论子系统,客服子系统,接口子系统。

业务拆分作用:提升为子系统可由专门的团队和部门负责,专业的人做专业的事,解决模块之间耦合以及扩展性问题;每个子系统单独部署,避免集中部署导致一个应用挂了,全部应用不可用的问题。

等级定义作用:用于流量突发时,对关键应用进行保护,实现优雅降级;保护关键应用不受到影响。

拆分后的架构图:

 

参考部署方案2

(1)       如上图每个应用单独部署

(2)       核心系统和非核心系统组合部署

 

6.2应用集群部署(分布式,集群,负载均衡)

         分布式部署:将业务拆分后的应用单独部署,应用直接通过RPC进行远程通信;

         集群部署:电商网站的高可用要求,每个应用至少部署两台服务器进行集群部署;

         负载均衡:是高可用系统必须的,一般应用通过负载均衡实现高可用,分布式服务通过内置的负载均衡实现高可用,关系型数据库通过主备方式实现高可用。

集群部署后架构图:

 

6.3 多级缓存

         缓存按照存放的位置一般可分为两类本地缓存和分布式缓存。本案例采用二级缓存的方式,进行缓存的设计。一级缓存为本地缓存,二级缓存为分布式缓存。(还有页面缓存,片段缓存等,那是更细粒度的划分)

一级缓存,缓存数据字典,和常用热点数据等基本不可变/有规则变化的信息,二级缓存缓存需要的所有缓存。当一级缓存过期或不可用时,访问二级缓存的数据。如果二级缓存也没有,则访问数据库。

缓存的比例,一般1:4,即可考虑使用缓存。(理论上是1:2即可)。

 

         根据业务特性可使用以下缓存过期策略:

(1)       缓存自动过期;

(2)       缓存触发过期;

6.4单点登录(分布式Session)

系统分割为多个子系统,独立部署后,不可避免的会遇到会话管理的问题。一般可采用Session同步,Cookies,分布式Session方式。电商网站一般采用分布式Session实现。

         再进一步可以根据分布式Session,建立完善的单点登录或账户管理系统。

 

         流程说明

(1)       用户第一次登录时,将会话信息(用户Id和用户信息),比如以用户Id为Key,写入分布式Session;

(2)       用户再次登录时,获取分布式Session,是否有会话信息,如果没有则调到登录页;

(3)       一般采用Cache中间件实现,建议使用Redis,因此它有持久化功能,方便分布式Session宕机后,可以从持久化存储中加载会话信息;

(4)       存入会话时,可以设置会话保持的时间,比如15分钟,超过后自动超时;

结合Cache中间件,实现的分布式Session,可以很好的模拟Session会话。

大型网站架构交流(架构之家)QQ群二:464527023 ;微信公众号:itfly8。以架构为核心的兴趣群,专注大型分布式网站架构,大数据,架构模式,设计模式。技术分享,经典电子书分享,欢迎加入!

转载于:https://www.cnblogs.com/1995hxt/p/6088274.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_712523.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开发微信网页版登录(像segmentfault 网站那样登录)

2019独角兽企业重金招聘Python工程师标准>>> 一开始做的微信登录是这样的:点击微信登录,页面跳到扫面二维码那个页面,扫描并同意之后,回跳到自己给的redirect_url 那里. 很想做成 segmentfault 网站那样,感觉用户体更加好,如下图: 一直不知道该怎么去做..直到今天,…

网站开发流程以及HTML5简介(七)

2019独角兽企业重金招聘Python工程师标准>>> 第八大原因:Doctype 没错,就是doctype,没有更多内容了。是不是非常简答?不需要拷贝粘贴一堆无法理解的代码,也没有多余的head标签。最大的好消息在于&#xff0…

基于 Vue 的轻量级静态网站生成器 VuePress

Vue.js 的创始人尤雨溪大大在 twitter 上发布了一个全新的基于 Vue 的静态网站生成器-,这对于广大 Vue 爱好者来说无疑是一个好消息! 什么是VuePress VuePress由两部分组成:一个基于Vue的轻量级静态网站生成器,以及为编写技术文…

网站功能小Demo——学习MD5加密的一点心得

生活在数字信息化时代,我们每天接触最多的就是网络,其中包括我们在各大形形色色的网站注册的账户。从而网络安全变得极其重要,毕竟涉及到自身的账户信息安全以及财产安全。那么网站在建设的过程中时如何做到保护信息安全的呢?下面…

百度网页搜索无法通过域名访问_网站换域名或网页内容改版对网站的影响以及网站换域名注意事项...

一个网站如果换域名等于是重头开始做一个网站,之前的收录和排名都是全部为零,风险是非常大的。因此有想过换域名的站长需要谨慎,那么换域名对网站带来什么影响呢,给大家简单讲述几点。网站换域名或网页内容改版对网站有什么影响&a…

大型网站架构演进(4)使用应用服务器集群

使用应用服务器集群是解决高并发的常用手段,当一台应用服务器的处理能力不足时,不要企图更换配置更高的服务器,对于大型网站而言,不管多么强大的服务器,都满足不了持续增长的业务需求,在这种情况下&#xf…

常用下载工具的网站

1、MSDN 网站https://msdn.itellyou.cn/, 2、盒子部落 https://www.hezibuluo.com/system/install 参考链接 : office 2016最新安装及KMS使用教程【亲测有效】!!! :https://blog.csdn.net/qq_41785863/…

网站流量查询

1、http://www.alexa.cn/ 2)TestinAPP测试:https://www.testin.cn/ 3)APP Annie:https://www.appannie.com/cn/ 脑图工具 1)百度脑图:http://naotu.baidu.com/ 2)MindPin:http:/…

web网站服务(二)-1

博主QQ:819594300博客地址:http://zpf666.blog.51cto.com/有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持!案例一:搭建基于域名的虚拟主机首先为两个网站搭建dns服务器,并新建区域&am…

博客大全被百度标注为风险网站

在前几天我们的博客大全网站(daohang.lusongsong.com)在百度云观测收到这样一条消息:网站存在恶意内容,被挂马。建议我们快点修复,以免影响搜索引擎排名。后面发现搜索引擎结果已经出现提示了,如图所示:我们立刻进入了…

Linux编程训练网站,OK6410汇编程序练习

尝试使用一下6410的汇编,发现跟当年的51差不多,一步一步的学习;*************************************************************************************************************;* 文件名: ok6410.s;* 功能: S3C6410 汇编;* 作者: cp1300139.com;*…

Android Studio开发实用网站收集

重点 1、Android Studio 调试技巧-断点调试 http://blog.csdn.net/qq_32452623/article/details/53769708 2、android studio 更利于开发设置的属性(IDE设置) http://blog.csdn.net/wangyongyao1989/article/details/71698719 3、移动开发命名开发参考 h…

Zabbix 监控网站的访问量

转载来源 :Zabbix 监控网站的访问量 : http://www.lwops.cn/thread-306-1-1.html 需求:监控网站pv和uv的总量和5分钟内的pv和uv的增量 1. PV、UV是什么? UV:独立访客,每个独立上网电脑视为一位访客&…

电脑重装系统后如何把网站设为首页

电脑重装系统后如何把网站设为首页呢,很多用户会给电脑浏览器设置一个网址首页,这样每次访问就方便很多,那么这个要如何设置呢?这里就和大家分享一下电脑重装系统后如何把网站设为首页吧。 1、首先打开电脑上的浏览器,…

在线扫描网站/网址开放的端口

1、在线端口检测 http://coolaf.com/tool/port 2、json在线 https://www.sojson.com/zz/portscan.html 3、站长在线工具大全 http://www.all-tool.cn/Tools/portblast/?&rand=b85312d6662887fe8974f9c83e70bb4f

asp.net core2.0中网站发布的时候,怎么样才配置才可以使视图文件不被打包进去?...

默认设置可真是坑~~ https://q.cnblogs.com/q/99680/ 转载于:https://www.cnblogs.com/xinzhyu/p/9004302.html

一键屏蔽恶意网站

数据来自恶意网站实验室 http://pan.baidu.com/s/1i5ru1UH 本文转自haiyang45751CTO博客,原文链接:http://blog.51cto.com/haiyang457/1833781 ,如需转载请自行联系原作者

免费网站高级Waf防火墙:VeryNginx,防御网站被攻击

转载来源 :免费网站高级Waf防火墙:VeryNginx,防御网站被攻击 : http://www.safebase.cn/article-260173-1.html 摘要: 图/文:迷神VeryNginx 是一个基于openrestry(其实是基于nginx的lua扩展)的开…

Nginx只允许域名访问网站,禁止使用IP 访问80,443端口

转载来源 :Nginx只允许域名访问网站,禁止使用IP 访问80,443端口 :http://www.safebase.cn/article-260225-1.html 摘要: 一、背景 为了避免别人把未备案的域名解析到自己的服务器ip而导致服务器被断网,需要在nginx上设…

Https网址在线安全检测网站

国外 https://www.ssllabs.com/ssltest/index.html 国内 https://myssl.com https://bsi.baidu.com/topic/https.html https://www.upyun.com/https http://s.tool.chinaz.com/https https://www.chinassl.net/ssltools/ssl-lock-checker.html 参考链接: Htt…