如何看待PHP MySQL网站架构,很多新手都不清楚。为了帮助大家解决这个问题,下面小编就为大家详细讲解一下。有这种需求的人可以从中学习,希望你能有所收获。
目前,网站架构一般分为负载均衡层、web层和数据库层。
负载平衡层- LVS,
网络层——使用nginxweb服务器,
数据库层——我们使用了数据库集群方案。
网站概述
页面视图
独立访客
访问次数
互联网协议
过帐数量
注册会员人数。
反弹率
平均在线时间。
今天
80,973
37,999
42,573
27,979
624
140
72.27%
00:07:56
昨天
179,250
74,584
88,986
54,021
1,400
285
77.48%
00:10:00
历史平均值
154,020
60,927
71,924
47,883
1,936
201
78.24%
00:10:00
历史最高
238,993
94,647
110,552
72,692
6,602
468
89.04%
0:113360021代码提交系统。
这必须在代码进入生产环境之前经历。
在测试服务器上开发OK后,我们提交给SVN服务器,然后进入代码提交服务器。
进入代码提交服务器后,有两个步骤,我理解为一拉一推。
我们用SVN更新本地文件。
使用rsync推送到生产环境服务器。
以上两部分是作为一个shell文件编写的。
运行bashxxx.sh即可。
2用户访问网站的流量基本如下:
网站使用动态CDN,起到加速作用。让我们把动态CDN放在一边,谈谈下面的事件。
在前端,我们使用了LVS。我用百科全书中关于LVS的文章来解释:
是一款开源软件,由国防科技大学毕业的张博士于1998年5月创立,可以在LINUX平台下实现简单的负载均衡。LVS是Linux虚拟服务器的缩写,意思是Linux虚拟服务器。
LVS集群采用IP负载均衡技术和基于内容的请求分发技术。调度器具有良好的吞吐率,将请求均衡地转移到不同的服务器上执行,并自动屏蔽服务器的故障,从而将一组服务器组成高性能、高可用的虚拟服务器。整个服务器集群的结构对客户来说是透明的,不需要修改客户端和服务器端的程序。因此,在设计时应考虑系统的透明性、可扩展性、高可用性和易管理性。
一般来说,LVS集群采用三层结构,其主要组成部分是:
A.负载均衡器是整个集群对外的前端机器,负责将客户的请求发送到一组服务器上执行,而客户则认为服务来自一个IP地址(我们可以称之为虚拟IP地址)。
B.服务器池是一组真正执行客户请求的服务器,执行的服务包括WEB、MAIL、FTP和DNS等。
C.共享存储,为服务器池提供共享存储区域,这样服务器池就很容易拥有相同的内容并提供相同的服务。
LVS
核心是它的负载调度器。
塔台负责维护路由表。
3实时监控真实服务器运行状况。
LVS的背一定很热。如果LVS垮了,就完了。这样,如果LVS失败了,就可以备份它来接管工作。
c源站192.168.1.156/157向外界虚拟了一个VIP 115。当DNS解析域名时,它解析到这个VIP。至于用户访问哪个服务器,对用户来说是透明的。LVS根据IP负载平衡技术将源站地址分配给用户。
d两台源站服务器,为了保证某些地方的数据同步,我做到了:
1两个源站服务器之间的缓存通过NFS安装,以保持同步;
在crontab中写入计划任务并同步相关ssi文件;
后端数据库连接,我们使用了2个主数据库和2个从数据库集群。
两个主库77、78被虚拟化为VIP 110。原则是,当任何一个数据库挂机时,另一个数据库会立即接管它。两个数据库是彼此的主人和奴隶。通过保持活力来监测他们的生活状况。
f主库和从库通过binlog同步。所有binlog都是通过主库发布的。其余三个从库(其中一个是主库,角色是从库)接受binlog并维护各自的数据组件。
另外,我们有一个附件服务器。减少网络压力。
另外还有图片服务器/小图标服务器,可以放在web本身,通过域名来区分。其实图片、附件、css等在哪里都无所谓。都是,只要能通过域名访问它们,就绝对有可能。
我们通过博瑞系统监控网站。对于网站来说,首屏时间是考核的重点,任何用户都不希望在页面加载前等待3秒,所以用户体验非常差。
加入CDN后,这是对国内各监测点的绩效进行监测和评估。
阅读以上内容对你有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/36004.html