【微服务】StackOverflow的架构解密

2023-03-25T14:42:42+08:00 | 2分钟阅读 | 更新于 2023-03-25T14:42:42+08:00

Macro Zhao

【微服务】StackOverflow的架构解密

@TOC

推荐超级课程:

StackOverflow 是资源需求量最大的网站之一。我们作为架构师,在进行各种微服务架构的实践的同时,也需要学习借鉴各个成熟实践的精华。 因此本文,我们将了解学习一下作为世界级流量最大之一的网站StackOverflow网站的架构设计。

显示 StackOverflow 系统应用程序的图像。

架构基础设施

StackOverflow 逆着微服务趋势而行,使用极其高效的整体架构和最少的基础设施,平均延迟为 18 毫秒,在其 200 个站点中每月处理 13 亿次页面浏览量。整个服务由以下组件组成:

  • 9 个 Web 服务器托管在 3 个数据中心。
  • 1- 具有备用的 HAP 代理。
  • 1- Redis 及其从属设备。
  • 1- 备用 SQL 数据库。
  • 3-弹性搜索引擎。

该图显示了 StackOverflow 的 HAP PROXY 以及整个基础设施中的服务器交互。

需要注意的一件事是“组件是整体式的意味着它们无法扩展,因此服务器必须使用给定的资源来管理所有负载”。

网络服务器

仅使用 9 个本地 IIS Web 服务器。

每台服务器都有 64 GB RAM 并运行高度优化的 .NET 代码。

每台服务器每秒处理 450 个峰值请求,CPU 使用率仅为 12%。

代码最大限度地减少内存分配以限制垃圾收集。

SQL 服务器

组织成 2 个故障转移集群,每个集群有 2 台服务器。

第一个集群:每台服务器 1.5 TB RAM。

第二个集群:每台服务器 768 GB RAM。

大约三分之一的问答数据集驻留在内存中。

每个集群每秒处理超过 10,000 个峰值查询,CPU 利用率约为 15%。

Redis

带有一个副本的单个 256GB 主服务器。

以 2% CPU 处理每秒 60000 次峰值操作。

一些使 StackOverflow 系统变得强大的功能:

  • 通过分布式数据中心托管的多台服务器以及具有热备份功能的数据库等功能确保可用性。
  • 通过 HAProxies 负载平衡、Redis 缓存以及 ElasticSearch Engine 快速搜索等功能确保性能。

© 2011 - 2025 Macro Zhao的分享站

关于我

如遇到加载502错误,请尝试刷新😄

Hi,欢迎访问 Macro Zhao 的博客。Macro Zhao(或 Macro)是我在互联网上经常使用的名字。

我是一个热衷于技术探索和分享的IT工程师,在这里我会记录分享一些关于技术、工作和生活上的事情。

我的CSDN博客:
https://macro-zhao.blog.csdn.net/

欢迎你通过评论或者邮件与我交流。
Mail Me

推荐好玩(You'll Like)
  • AI 动·画
    • 这是一款有趣·免费的能让您画的画中的角色动起来的AI工具。
    • 支持几十种动作生成。
我的项目(My Projects)
  • 爱学习网

  • 小乙日语App

    • 这是一个帮助日语学习者学习日语的App。
      (当然初衷也是为了自用😄)
    • 界面干净,简洁,漂亮!
    • 其中包含 N1 + N2 的全部单词和语法。
    • 不需注册,更不需要订阅!完全免费!
  • 小乙日文阅读器

    • 词汇不够?照样能读日语名著!
    • 越读积累越多,积跬步致千里!
    • 哪里不会点哪里!妈妈再也不担心我读不了原版读物了!
赞助我(Sponsor Me)

如果你喜欢我的作品或者发现它们对你有所帮助,可以考虑给我买一杯咖啡 ☕️。这将激励我在未来创作和分享更多的项目和技术。🦾

👉 请我喝一杯咖啡

If you like my works or find them helpful, please consider buying me a cup of coffee ☕️. It inspires me to create and share more projects in the future. 🦾

👉 Buy me a coffee