因涉及到关键信息,本文删除相关配图。但51CTO在删之前已经收录本文,

地址是:http://developer.51cto.com/art/201206/342006_1.htm

目前网站架构一般分成负载均衡层、WEB层和数据库层

负载均衡层-- LVS,

WEB层--使用了nginxweb服务器,

数据库层--我们使用了db集群方案。

【应广大网友要求,架构图 2013.01.08新加】

网站概况

 

 1 代码提交系统 

这是在代码进入生产环境前的必须要经历的。

在测试服务器上开发OK后,我们提交给SVN服务器,然后进入代码提交服务器。

进入代码提交服务器后,有两步要走的,我理解为一个拉,一个推。

a 我们使用SVN up 将本地文件更新

b 使用rsync推送到生产环境服务器

以上两部分 我分别写成一个shell文件

运行 bash xxx.sh 即可

2 用户访问网站的流程,基本是这样的:

网站使用了动态CDN,起到加速的作用,我们先把动态CDN放到一边,说说下面发生的事情。

在前端我们使用了LVS,关于LVS我使用百科上的文章,给予解释下:  

LVS是一个开源的软件,由毕业于国防科技大学的章文嵩博士于1998年5月创立,可以实现LINUX平台下的简单负载均衡。LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器。

LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。

一般来说,LVS集群采用三层结构,其主要组成部分为:

  A、负载调度器(load balancer),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的。

  B、服务器池(server pool),是一组真正执行客户请求的服务器,执行的服务有WEB、MAIL、FTP和DNS等。

  C、共享存储(shared storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。

A    LVS

1 核心是它的负载调度器

2 塔负责维护一个路由表

3 实时监控真实server健康状况

B LVS必须有个热备 hot back,万一LVS坏了,那就完蛋了。这样,当LVS万一坏了,可以备份LVS接管工作。

C 源站192.168.1.156/157 对外虚拟一个VIP 115。DNS解析域名的时候就解析到这个VIP上。至于具体用户访问是哪台服务器,对用户而言是透明的,LVS根据 IP负载均衡技术 为用户分配源站地址

D 两台源站服务器,为了可以保证某些地方的数据同步,我做了:

1 两台源站服务器之间的缓存通过NFS挂载,保持同步;

2 crontab中写入计划任务,同步相关ssi文件;

E 后端DB的连接,我们使用了2主2从DB集群

两台主库77、78对外虚拟成VIP 110,原理,当任何一台DB挂掉后,另外一台立即接管其。两台db互为主从。通过keepalived监测各自生存状态。

F 主从库之间通过binlog保持同步。所有binlog均通过主库发出。其余三台从库(其中一台为主库,角色为从库)接受binlog,维护各自数据成分。

G 另外我们是有了一台附件服务器。减轻WEB压力。

H 另外,还有图片服务器/小图标服务器,可以放在web自身,通过域名区分。其实图片、附件、css等哪儿并不重要,只要可以通过域名访问到,是完全可以的。

我们通过博瑞系统,对网站进行监控。 对于web站点,首屏时间是考核的重点,任何一个用户不想等待3s钟页面还没有加载完,用户体验非常差。

这是在加入CDN后,对全国各监测点进行相关的监测和性能的评测。

转载于:https://www.cnblogs.com/wangjiafang/archive/2012/06/12/2546314.html

【原创】php+mysql下,对网站架构方面的一些认识(以我维护的站点为例)相关推荐

  1. 搭建“双11”大型网站架构必须掌握的 5 个核心知识

    2019独角兽企业重金招聘Python工程师标准>>> 每年电商双11大促对背后技术人都是一次大考,阿里数据库团队表示.经过9年的发展,双11单日交易额从2009年的0.5亿一路攀升 ...

  2. 大型网站架构之总结:秒杀案例与小结

    前言 目前为止,我们就已经将大型网站架构设计介绍了一遍,主要都是从大方向上去涵盖的,具体细分后每个细节,还是有很多东西需要我们去深入研究的,当然,今天我们就不去做深入研究各个细节了,后期再慢慢讲到.今 ...

  3. Mysql在大型网站的应用架构演变

    原创文章,转载请注明: 转载自http://www.cnblogs.com/Creator/ 本文链接地址: Mysql在大型网站的应用架构演变 本文已经被多处转载,包括CSDN推荐以及码农周刊等等, ...

  4. [转]Mysql在大型网站的应用架构演变

    原创文章,转载请注明: 转载自http://www.cnblogs.com/Creator/  本文链接地址: Mysql在大型网站的应用架构演变 写在最前: 本文主要描述在网站的不同的并发访问量级下 ...

  5. linux下yum搭建lamp,linux下Yum搭建lamp网站架构

    在上节课我用了源代码和免安装软件的两种方式搭建了LAMP架构的网站,今天我们对上一节做个简单的总结: 源代码安装软件是我们Linux下常用的安装方法共分四个步骤: 在上一节我们的数据库就是免安装的.直 ...

  6. 虚拟主机中,不修改IIS设置,在IIS6下运行MVC架构的网站

    虚拟主机中,不修改IIS设置,在IIS6下运行MVC架构的网站 我为什么要写这个教程呢? 主要是为了解决把网站部署在虚拟主机上的人,因为你根本不能去配置虚拟主机所以,用下面的方法,可以实现不配置IIS ...

  7. php mysql架构_PHP+MySQL网站架构方面的一些认识

    目前网站架构一般分成负载均衡层.WEB层和数据库层 负载均衡层-- LVS, WEB层--使用了nginxweb服务器, 数据库层--我们使用了db集群方案. 网站概况 浏览量(PV) 独立访客(UV ...

  8. 浅谈千万级PV/IP规模高性能高并发网站架构

    原创作者:老男孩linux实战运维培训机构 老男孩 QQ:31333741    说明:几个月前老男孩发过一次类似的文章,本次为了参加一个朋友邀请的活动,稍微完善了一下,欢迎各位同仁一起交流网站架构技 ...

  9. 从100PV到1亿级PV网站架构演变

     读者福利!2 TB 各类技术资源免费赠送 作者:叶军 网址:http://www.yejun.cn/?p=1154 一个网站就像一个人,存在一个从小到大的过程.养一个网站和养一个人一样,不同时期需要 ...

最新文章

  1. python多久学会自学-python自学多久
  2. 51nod 1534 棋子游戏
  3. qt找不到打印机_Qt无法调起打印机问题(QPrintDialog: Cannot be used on non-native printers)解决...
  4. std::call_once写单列模式
  5. 【STM32】 定时器---正交解码编码器模式详解
  6. js 密码强弱的实现
  7. 【BZOJ4149】[AMPPZ2014]Global Warming 单调栈+RMQ+二分
  8. 基于Ymodem协议的IAP上位机(C#)
  9. 网站SEO优化中tilte与h1的区别、b与strong的区别、i与em的区别
  10. 讲一下创业公司的技术架构演进
  11. 关于电瓶车管理的思考
  12. 临床数据共享能带来什么好处?
  13. 再探JS---eval函数
  14. excel行列互换_excel:关于选择性粘贴,你可能还不知道的操作
  15. 第一章第十三题(代数:求解2 × 2线性方程组)(Algebra: solve 2 × 2 linear equations)
  16. arduino 天下第一(暴论) -- 智能猫眼与 SDDC 连接器移植到 arduino 上
  17. Vue项目webpack打包部署到服务器
  18. Windows redis最新版本5.0.9下载
  19. UOS无法使用无线网络
  20. 【Day8.1】兰州牛肉拉面

热门文章

  1. Tensorflow新手通过PlayGround可视化初识神经网络
  2. 机器学习(七)支持向量机svm中级篇
  3. python伪装浏览器什么意思_python爬虫伪装浏览器出现问题求助
  4. 信安教程第二版-第26章大数据安全需求分析与安全保护工程
  5. 软考网络工程师学习笔记3-广域通信网
  6. 第四章信息系统安全基础考试要点及真题分布
  7. matlab矩阵信号,matlab - 如何在Matlab中使用移位版本的信号样本创建矩阵? - SO中文参考 - www.soinside.com...
  8. Maven入门指南:仓库
  9. [THUWC2017] 在美妙的数学王国畅游
  10. JAVA基础知识总结:二十一