本文是GitHub热门项目系统设计入门的学习笔记第3篇,本篇介绍了StackOverflow的架构。参考文章:Stack Overflow: The Architecture - 2016 Edition。架构图如下:

image.png

The Internets

网络接入即图中最上面那一部分,简单来说,StackOverflow用了CloudFlare的DNS服务器,同时也有自己的DNS服务器。接入了4个ISP服务供应商,路由器也都是主/主复制的模式。

Load Balancers (HAProxy)

2台机器,用的是HAProxy做负载均衡,SSL也到这一层终止。机器内存较大用于缓存TLS会话。

Web Tier

这一层是11台Web服务器,其中有2台是dev测试的。

Service Tier

与Web Tier类似,提供的是内部的Web服务。

Cache & Pub/Sub (Redis)

Master/Slave的Redis集群,保存HTTP缓存(之前的服务器中有local缓存)。Protobuf格式。自己开发的Redis客户端。

Search (Elasticsearch)

专门给搜索设置的服务器。每个数据中心都是一个3节点的集群。

Databases (SQL Server)

2个SQL集群,里面的各个机器按地域分开。


Harpsichord1207
538 声望44 粉丝

前路漫漫