共计 535 个字符,预计需要花费 2 分钟才能阅读完成。
本文是 GitHub 热门我的项目零碎设计入门的学习笔记第 3 篇,本篇介绍了 StackOverflow 的架构。参考文章:Stack Overflow: The Architecture – 2016 Edition。架构图如下:
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 集群,外面的各个机器按地区离开。
正文完