网站基本架构图示:
仅供参考,这个架构是针对仅有数台服务器的一般应用,门户型应用肯定要复杂的多。
本图由亿图图示专家 绘制,此绘图软件值得推荐。
主要矛盾
对于高并发的网站系统,最早暴露出来的问题就是数据库瓶颈,超级牛的数据库系统也很快会成为访问速度的瓶颈。所以,欲提高访问速度首先要解决的瓶颈就是数据库访问。策略就是
一、缓存:
- varnish前端缓存(图片、html、流媒体、js、css等);
- Redis后端缓存;
- 创建外部索引文件,如使用Sphinx/Elasticsearch;
二、数据库服务器阵列:
- 将数据库读写操作分开,分为主从服务器;
- 主从服务器分别按照一定规则设置成阵列;
总之,尽量减少对数据库的请求数量,进一步使用负载均衡,最大程度降低单台服务器的压力。
使用 Nginx 做负载均衡的理由:
- 免费使用
- 高连接并发,能够支持高达 50,000 个并发连接数的响应
- Nginx 采用C进行编写, 内存、CPU开销少
- 配置文件简单
- 支持url重写,支持GZIP压缩节省带宽
- 超级稳定,几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动
- 国内已经有多家知名网站使用 Nginx 作为Web服务器或反向代理服务器
详细介绍
客户端在浏览器地址栏输入域名后,将首先访问最前端的代理服务器,静态文本型文件有此服务器直接返回,这里设置了单独的图片服务器,适合图片非常多的网站。将一部分特定的url代理到后端Squid服务器,Squid服务器根据url地址检查是否有缓存的内容,有则返回给前端服务器,否则再访问后端的php应用,获取内容并缓存以备下次访问。Squid服务器可以是一台,也可以是按一定规则组织的阵列。
PHP应用也可以是一台或者一个阵列,单台服务器的情况比较简单,阵列的话需要考虑客户端session回话的问题,解决的办法有二:
1、阵列服务器共享session回话,如统一使用memcached存储session;
2、前端服务器能判断客户端是属于哪个php服务器处理,并始终将此客户端代理给这个php应用;
比较这两个办法,从可扩展性的角度为长远考虑,第二种办法可能更为妥当。对于首次访问php应用的客户端,采取轮回规则进行负载均衡,php给客户端设置一个cookie方式的标记,再次访问则根据cookie信息链接到先前的php应用上。
相关推荐
根据提供的文件信息,我们可以推断出“水晶组织架构图.pptx”主要涉及的是一个组织结构图示模板,其中特别提到了市场营销研究相关的模块。接下来,我们将深入探讨这个PPT模版中的关键知识点。 ### 一、水晶组织架构...
### 昆仑通态初级教程知识点详述 #### 一、昆仑通态MCGS TPC简介 ##### 1.1 TPC7062K认知 - **高清显示**: 分辨率为800×480,提供清晰细腻的画面显示。 - **色彩表现**: 支持65535色,呈现丰富色彩层次。 - **...
标题《通过EA实现战略建模》和描述《通过EA实现战略建模描述的是EA的使用方法,为初级使用EA的人员提供帮助》中涉及的关键知识点是企业架构(Enterprise Architecture, 简称EA)工具在战略建模中的应用。 首先,...
1. **架构图示**:提供了一个直观的视图来展示Greenplum的整体架构。 2. **Master主机与Segment主机任务**:Master节点负责处理客户端的连接请求、SQL命令的解析、查询优化及执行计划的生成,而Segment节点则执行...
在这一阶段,固定资产管理系统的初级类被确定,包括固定资产、职工、资产类别、借用和归还等,每个类都具有定义好的功能和属性。系统的主要功能,例如增删改查操作、职工管理、资产类别管理、借用归还管理和用户管理...
一级医院评审是指对初级医疗机构进行的质量评估,旨在规范医疗服务流程,提升医疗服务水平,确保患者得到安全、有效的治疗。 在一级医院评审过程中,管理组评审是核心部分,主要包括以下几个方面: 1. 医院组织...
UML是软件工程中用于可视化、构建和文档化软件系统的标准建模语言,对于理解和设计复杂的软件架构具有极大的帮助。 描述中提到的“统一的建模语言UML初级教程”,暗示了这个压缩包包含了一些入门级别的UML学习材料...
类似地,在软件开发中,初级程序员可能更多地关注于编写代码,而高级工程师或架构师则需要考虑整个系统的架构设计,确保系统能够高效稳定地运行。 #### 五、课程主要内容 - **面向对象技术概述**:介绍面向对象的...
- **培训内容**:制定了详细的培训计划,包括核心业务支撑系统培训、高级培训和初级培训等,以提高用户的操作技能。 #### 十二、上线实施方案 - **上线准备**:规划了系统的上线准备工作,包括环境搭建、数据迁移...
当电流通过火线时,由于电磁感应,初级线圈会缠绕电流,并且产生一个漏电信号。通过测量火线进入电气设备前后电流的差异(I1和I2),可以判断是否存在漏电。若I1等于I2,说明不存在漏电。如果存在接地电流I3,即I1...