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

大型网站架构方案

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操作系统……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值