Stack Exchange系统管理员blog 上发布了一篇架构的文章。
网络流量
- 每月95M的PV
- 每秒800个HTTP请求
- 每秒180个DNS请求
- 每秒55Mb的网络带宽
数据中心
- 1个机柜位于俄勒冈的Peak Internet(用于chat和Data Explorer)
- 2个机柜位于纽约的Peer 1 (用于其他的Stack Exchange Network)
生产服务器
- 12 Web Servers (Windows Server 2008 R2)
- 2 Database Servers (Windows Server 2008 R2 and SQL Server 2008 R2)
- 2 Load Balancers (Ubuntu Server and HAProxy)
- 2 Caching Servers (Redis on CentOS)
- 1 Router / Firewall (Ubuntu Server)
- 3 DNS Servers (Bind on CentOS)
所有的软件和技术
- 开发语言: C# / .NET
- 持续构建服务器: CruiseControl.NET
- 源码管理: Mercurial / Kiln
- 操作系统: Windows Server 2008 R2,Ubuntu Server,CentOS
- 数据库服务器:SQL Server 2008 R2
- DNS服务器:Bind
- 负载均衡软件:HAProxy
- 缓存服务器:Redis
- 日志: Splunk
- 搜索索引技术: Lucene.NET
- 备份: Bacula
- 系统监控: Nagios (with n2rrd and drraw plugins)
- 监控SQL Server: SQL Monitor from Red Gate
程序员和系统管理员
- 14 位程序员
- 2 位系统管理员
(以上不含故障备份和管理服务器)
———————————————————–
分析:
1.使用了三种操作系统:Windows Server, CentOS, Ubuntu Server;共有22个服务器,三个机柜;
2.可能的架构:DNS Servers–Router/Firewall–Load Balancers–Web Servers–Caching Servers–Database Servers;
3.12个Web服务器每秒钟处理800个http请求,感觉投资回报比有点儿低;