网站框架演变(1)

WEB服务框架升级

一. 项目描述

随着公司业务的逐渐增大,lnmp的服务器无法满足日益增长的数据量,卡顿,延迟的现象时常出现,因此扩容,添加服务器势在必行.

二. 演变历程

  1. 单机版LNMP
  2. 独立数据库服务器
  3. web服务器集群与Session保持
  4. 动静分离,数据库集群
  5. 各种缓存服务与业务模型

样例展示

1.单机版LNMP

单机版LNMP.png
用户量少时使用,简单、成本低、存在单点故障。

2.独立数据库服务器

独立数据库服务器是将网站静态文件、代码文件等资料与数据库分离的架构,当用户量增加时单机的处理能力有限,PHP或JAVA代码的执行需要消耗大量CPU资源,数据库的增删改查需要调用大量的内存资源,将两者分离可以减轻服务器的压力,其拓扑结构如图-2所示。
LNMP.png
Web服务器和数据库服务器的压力都可以得到有效改善,访问量有所增加。但是服务器依然存在单点故障问题。

3.web服务器集群与Session保持

我们可以通过Nginx、Haproxy代理服务器实现Web负载均衡集群,也可以使用LVS调度器实现Web负载均衡集群。部署完Web集群后还需要考虑如何进行Session会话保持,方法很多,如:根据源IP保持,代理服务器重写Cookie信息,共享文件系统保存session,使用数据库共享session等等。
web1.png
对于网站内容而言可以分离为动态页面和静态页面,静态页面就需要数据文件,动态页面则需要CPU解析代码,需要消耗大量的CPU资源,因此可以将静态和动态分离为两组服务器,动态页面有脚本代码组成,是一种基于网页的应用程序
但是如果只有一台调度器依然会导致单点故障的问题,因此还需要使用Keepalived或Heartbeat之类的软件进行高可用配置
WEB服务器与session.png

4.动静分离,数据库集群

随着服务器的增加,虽然性能与并发量得到了明显的提升,但是数据的一致性、管理的便利性成为了新的问题,因此就需要增加统一的存储服务器,实现数据的同步一致,可以使用NFS,GlusterFS、Ceph等软件实现该功能,但此时所有应用服务器都连接一台数据库服务器进行读写操作,而且后期随着数据库中的数据不断增加,会导致数据库成为整个网站的瓶颈!这就需要我们对数据进行分库分表,创建数据库主从或者数据库集群,实现读写分离
动静分离,数据库集群.png

5.各种缓存服务与业务模型

业务模块.png

对于静态数据我们可以通过VARnish,squid或者nginx进行缓存,将数据缓存到距离用户更近的位置,构建CND(内容分发网络)框架.
对于传统的SQL数据库而言,我们也可以通过增加NoSQL数据库,实现数据缓存的功能,提示数据库的访问速度.
对数据库的优化放到后面的文章
Image placeholder
13621971426
未设置
  21人点赞

没有讨论,发表一下自己的看法吧

推荐文章
React 架构的演变 - Hooks 的实现

课程推荐:web开发工程师--学习猿地--送8个上线商业项目 ReactHooks可以说完全颠覆了之前ClassComponent的写法,进一步增强了状态复用的能力,让FunctionComponen

js框架与css框架的区别?

js框架与css框架的区别?一、JavaScript框架●Javascript框架是指以Javascript语言为基础搭建的编程框架。●Javascript框架就是将常用的方法进行封装,方便调取使用。

如何使用 Python 和 BeautifulSoup 爬取网站

互联网上的信息如此之多,任何人穷其一生也无法全部消化吸收。你需要的不是访问这些信息,而是一种可伸缩的方式,可以用来收集、组织和分析这些信息。你需要的是Web爬取。Web爬取可以自动提取数据,并以一种

GoWeb教程_12.2. 网站错误处理

我们的Web应用一旦上线之后,那么各种错误出现的概率都有,Web应用日常运行中可能出现多种错误,具体如下所示: 数据库错误:指与访问数据库服务器或数据相关的错误。例如,以下可能出现的一些数据库错误。

学习IT的实用工具和网站推荐

对于一些学习IT的初学者来说,掌握一些实用的软件工具和学习网站是十分有必要的。本文要为大家推荐一些学习IT的相关的资源,像是鸠摩搜书和脚本之家等电子书搜索网站,还有冰点文库和文件搜索工具等实用工具以及

上市公司招聘 PHP 高级架构师, 负责公司资讯网站

薪资35-40k*14【职位介绍】负责公司资讯平台开发,管理后端小团队岗位职责:负责公司资讯平台开发,管理后端小团队 负责平台开发、测试和维护工作; 岗位要求:计算机专业5年以上PHP开发经验,熟悉m

一个知名网站的微服务架构最佳实现

译者:蓝梦,十余年研发经验,现就职于某上市互联网公司。作者:小马,Medium 首席架构师。译者有话说,如果你的项目正在从单体升级为微服务而忧心;或者你在实践微服务过程中手忙脚乱,本文都是你不容错过的

lamp网站架构

c/s架构 b/s架构 b/s软件的优缺点

如何将网站的php版本信息隐藏起来

当我们把网站上线之后,我们可以通过curl的如下命令显示指定网站的头信息,curl的安装方法参考:https://www.wj0511.com/site/d...curl-Ihttps://www.w

如何使网站支持https访问?nginx配置https证书

购买SSL证书要想使用https访问你的网址,首先得拥有颁发的SSL证书。我这里申请的是阿里云免费的,有效期为一年,过期后再重新申请。申请SSL证书购买后,可在阿里云的搜索框输入证书关键字进入到控制台

网站集合

以下整理了平常用到的一些网站,其实是看到收藏夹日渐庞大,强迫症又犯了==,后面持续更新,如果有比较好用的网站或者有需要什么网站都欢迎留言~关于该页面的使用方式,可以使用快捷键Ctrl+F,然后输入关键

10个超好用的配色网站

01MaterialPalette网站地址:http://www.materialpalette.com/MaterialPalette是一款提供MaterialDesign配色的线上工具,它的用法很

UI设计师观看网站

站酷、花瓣、dribbbe、behance寻找设计灵感的网站

认识网站笔记

1.认识HTML52.HTML标签相关了解3.HTML主体结构4.标签中常用的标签 一.认识HTML讨论:学习编程到底难不难1.了解软件架构网络系统软件开发包括B/S与C/S两种结构都可以进行同样

认识网站笔记

!常用的协议HTML5是什么

HTML+CSS项目:仿京东电商网站(免费)

课程推荐:web全栈开发就业班--更全面的课程等着你--融职教育--点击进入 昨天的投票《【小调查】你觉得WEB前端零基础课,还要不要保留html+css的内容?》中,同学们的选择还是希望保留html

网站seo优化,为什么喜欢用div+css?

推荐课程:PHP全栈开发就业班--学习猿地 网站seo优化,为什么喜欢用div+css? 代码精简使用DIV+CSS布局,页面代码精简,这一点对XHTML有所了解的都知道。 代码精简所带来的直接好处有

使用HTML和CSS构建网站的好处

课程推荐:前端开发工程师--学习猿地精品课程 HTML和CSS网站的6个好处 HTML和CSS网站被认为是静态的,因为内容(文本,图像等)被编码到每个页面中,并且它不使用服务器技术(如动态网站那样)将

大型网站架构演化历程

课程推荐:web全栈开发就业班--拿到offer再缴学费--融职教育 本文内容大部分来自《大型网站技术架构》,这本书很值得一看,强烈推荐。 大型网站系统的特点高并发,大流量 需要面对高并发用户,大流量