目前网站架构一般分成负载均衡层、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后,对全国各监测点进行相关的监测和性能的评测。

多年前,初始架构:php+mysql下,对网站架构方面的一些认识相关推荐

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

    大型网站架构系列:电商网站架构案例(1) 大型网站架构是一个系列文档,欢迎大家关注.本次分享主题:电商网站架构案例.从电商网站的需求,到单机架构,逐步演变为常用的,可供参考的分布式架构的原型.除具备功 ...

  2. 还在搞三层架构?了解下 DDD 分层架构的三种模式吧 !

    来源:jianshu.com/p/a775836c7e25 引言 在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和分层架构的相关知识. DDD DDD(Domain DrivenDesign ...

  3. 还在搞三层架构?了解下 DDD 分层架构的三种模式吧

    引言 在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和分层架构的相关知识. DDD DDD(Domain Driven Design,领域驱动设计)作为一种软件开发方法,它可以帮助我们设计高 ...

  4. 关于大型网站架构系列:电商网站架构案例(目前最有深意喜欢的文章)

    算法与数据结构C++精解 ThinkPHP5.0+小程序商城构建全栈应用 AngularJS仿拉勾网WebApp开发移动端单页应用 Thinkphp 5.0实战 仿百度糯米开发多商家电商平台 原文出处 ...

  5. 大型网站技术架构(一)大型网站架构演化

    2019独角兽企业重金招聘Python工程师标准>>> 看完了有一本书,就应该有所收获,有所总结,最近把<大型网站技术架构>一书给看完了,给人的印象实在深刻,再加上之前也 ...

  6. 大型网站技术架构(一)--大型网站架构演化(转)

    http://blog.csdn.net/chaofanwei/article/details/26865169 看完了有一本书,就应该有所收获,有所总结,最近把<大型网站技术架构>一书给 ...

  7. 系统架构----(2)大型网站架构之架构模式

    大型网站架构之架构模式 什么是模式呢?每一个模式描述了一个再我们周围不断重复发生的问题及问题解决方案的核心,这样你就能一次次重用该方案而不必去做重复的工作,可见模式的关键在于可重复性. 网站架构模式的 ...

  8. [置顶]大型网站技术架构(一)大型网站架构演化

    看完了有一本书,就应该有所收获,有所总结,最近把<大型网站技术架构>一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载均衡以及session独立存储和缓存,因此书本 ...

  9. 《大型网站技术架构》——第一章 大型网站架构演化

    初始阶段的网站架构 应用程序.数据库.文件等所有等资源都在一台服务器上. 应用服务和数据服务分离 三台服务器:应用服务器.文件服务器和数据库服务器. 三台服务器对硬件资源对要求各不相同: 应用服务器需 ...

  10. 大型网站技术架构(一)--大型网站架构演化

    看完了有一本书,就应该有所收获,有所总结,最近把<大型网站技术架构>一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载均衡以及session独立存储和缓存,因此书本 ...

最新文章

  1. Exp 8 Web基础 20164302 王一帆
  2. 项目实践:Spring Boot 三招组合拳,手把手教你打出优雅的后端接口
  3. mysql 分组top_MySQL:如何查询出每个分组中的 top n 条记录?
  4. C语言实现单链表操作
  5. Android字数限制的EditText实现方案研究
  6. 【拼爹坑爹不比爹】深入理解css中position属性及z-index属性
  7. 网页现现实理服务器没有响应,前端_网页编程 HTTP协议(进阶)
  8. 股市像脱缰的“野牛”,谁是最好的“牛崽”?
  9. 【Linux】监视gpu使用情况
  10. 五个问答告诉你:阿里云对象存储如何助力钉钉战胜业务洪峰
  11. Linux 命令行快捷键
  12. 精品谷歌浏览器chrome插件大汇总!值得收藏
  13. 旅游网站设计制作方案
  14. c# Winform登陆界面设计,登陆用户不同权限设置
  15. Lighttools中模拟白光LED
  16. HydroGo-Pre 水动力学模型建模统一前处理系统使用说明
  17. NFT因无意义而美丽
  18. Centos使用chrony做时间同步
  19. html5 div 拱桥形状制作,纯CSS3+DIV实现小三角形边框效果的示例代码
  20. Ubuntu 10.10发布,云计算的和平使者

热门文章

  1. android荧光进度条,Android ProgressBar 进度条荧光效果
  2. iosmask_iOS Mask属性的详细介绍及应用实例_IOS_脚本之家
  3. python3编码得到中文_Python3的unicode编码转换成中文的问题及解决方案
  4. 在java创建线程结果_Java创建线程的三种方式
  5. BNU 斩(超级大水题)
  6. Greedy Mouse 贪心的耗子 nyoj824(贪心算法)
  7. nyoj 628 小媛在努力= =(水)
  8. dude由于目标计算机,The Dude的教程
  9. VTK(二)---相机外参矩阵Tcw转VTK相机,构建VR虚拟相机
  10. 传奇进去选择服务器位置偏移,传奇聊天框偏移怎么解决,GOM GEE聊天框错位的解决方法...