大型网站架构方案(包括系统架构和开发架构方案)

来源:互联网 发布:js如何让按钮消失 编辑:程序博客网 时间:2024/06/05 00:30

大型网站架构方案

Web

主体架构基于 Struts 1.X/2.X

抽象出核心库封装 控制器和中间层 的操作

Cache

配置 Memcache 组成集群缓存

Memcache 客户端进行封装

Memcached 节点组成池,调用示意:opList (BizName, 策略 ...)

中间层

以服务的方式提供对存储层的高性能调用以及分布式计算

ICE

Hadoop

存储

小规模:一个 data table 维护存储服务器阵列,内容 -> mount ……

大规模:使用 LongStore (龙存) 解决方案,由龙存管理存储阵列。

部署

划分子域名,每个子域名一个Web应用包,互不干扰

静态资源(css, js, image ...)使用专门的静态服务器

负载均衡

小规模:DNS轮询。

大规模:F5 2*X F5服务器,F5L4/L7层交换机,每台至少可处理200万连接(与服务器内存有关)。

 

NgnixL7层交换,LVS负载均衡也是一种方案

 

Web中间件选择

Tomcat - 最高400并发

Apache - 最高2000并发

Ngnix - 优于Apache

采用方案:Ngnix + Resin ,理由:

 

Resin提供更为快速的servlet引擎 - 选择Resin

gzip问题 - Resin在单独处理gzip时存在内存溢出的隐患,因此要加一层 Ngnix

Ngnix 能减少单独使用Resin时的内存占用 - Resin建立1000个连接使用1000个线程;加Ngnix后,透过其“异步连接”、“建立长连接”机制使Resin内存压力大大减小。

Ngnix 针对Linux系统有性能优化措施 - 0 Copy, send file ...

因此采用:1 Ngnix + 1 Resin,一对一。

 

静态服务器采用:Squid + Apache, why? because Squid has cache ability ...

同时,对于影响页面展现的静态资源,例如:css, js 等可以放在具有优质带宽的IDCIDC=互联网数据中心,优质/高速的带宽也比较贵,正所谓一份价钱一分货);其他的静态资源,如图片等可以放在价格相对低廉的IDC中,以域名区分两种静态资源,节省每一分钱。

网络拓扑图

         / Ngnix - 1:1 - Resin

F5 --

         / Squid - 1:n - Apache

 

监控统计平台

业务统计 - 用户访问统计

软件性能 - 应用系统监控,例如:请求响应时间……

硬件/网络性能 - Ganglia监控

其它要点

IE浏览器对同一域名(包括子域名)只能建立2个连接,连接多了只能排队……

F5架构,两台职能划分不同,镜像,心跳接管……

Raid存储阵列……

Linux操作系统……

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 做事注意力不集中怎么办 做事注意力不能集中怎么办 幼儿争抢玩具老师怎么办 孩子不专心学习怎么办 一年级孩子学习边学边忘怎么办 对爱不专心怎么办 孩子脑子不灵活怎么办 小孩写作业心慌怎么办 4岁写数字怎么办 孩子做事太慢怎么办 小孩子做事不认真怎么办 员工做事不认真怎么办 做事总是不认真怎么办 孩子上课老是讲话怎么办 孩子上课总讲话怎么办 孩子不求上进怎么办 孩子只知道吃完怎么办 孩子演出前紧张怎么办 儿童写字不专心怎么办 孩子上课没精神怎么办 小孩写字太慢怎么办 儿童上课不集中怎么办 突然头晕迷糊眼花怎么办 自己上课不专心怎么办 颈椎病头晕怎么办才好 孩孑记忆力不好怎么办 上课的时候困怎么办 小学生写字太慢怎么办 一年级小学生写字慢怎么办 小学生写字太用力怎么办 专注力不集中怎么办 一年级孩子写字慢怎么办 孩子话很多应该怎么办 孩子废话特别多怎么办 老师不认真教学怎么办 小孩脸上长痦子怎么办 小朋友爱讲笑话怎么办 小孩上课不认真怎么办 小孩子精神不集中怎么办 孩子上课都不听怎么办 把孩子脸打肿了怎么办