如何设计一个可承载百万用户量的系统架构?
- 内容介绍
- 相关推荐
本文共计2923个文字,预计阅读时间需要12分钟。
设计一个能支持数百万用户的系统极具挑战性,这需要不断的调整和优化。以下,我将构建一个系统,从单个用户开始,逐步扩展至支持数百万用户。
设计一个支持数百万用户的系统是非常有挑战性的, 这是一个需要不断调整和优化的过程, 接下来的内容中, 我将构建一个系统, 从单个用户开始,到最后支持数百万的用户。
从单个服务开始千里之行,始于足下,让我们从最简单的单个服务开始。所有的内容都在一台服务器上运行,包括 Web 程序, 数据库,缓存 等等, 如下图
我们看一下它的工作流程。
- 用户通过域名访问网站, 比如, api.mysite.com, 通常情况下, 域名解析服务 (DNS) 是由第三方提供的付费服务, 而不是我们的服务器所提供的。
- 返回 IP 地址给浏览器或者移动设备, 比如, 15.125.23.214。
- 通过 IP 地址, 发送 Http 请求到我们的 Web 服务器。
- Web 服务器返回 html 或者 json 内容, 浏览器进行渲染。
随着用户量的增长,此时一台服务器已经独木难支,我们需要两台服务器, 一个用于 Web 服务, 一个用于数据库。
应该选择哪种数据库?您可以选择关系型数据库和非关系型数据库,那它们都有什么特点呢?
关系型数据库也称为关系型数据库管理系统 (RDBMS) 或
SQL 数据库,最常见的有 MySQL、Oracle 、PostgreSQL、Sql Server 等,可以通过 SQL 进行跨表查询。
本文共计2923个文字,预计阅读时间需要12分钟。
设计一个能支持数百万用户的系统极具挑战性,这需要不断的调整和优化。以下,我将构建一个系统,从单个用户开始,逐步扩展至支持数百万用户。
设计一个支持数百万用户的系统是非常有挑战性的, 这是一个需要不断调整和优化的过程, 接下来的内容中, 我将构建一个系统, 从单个用户开始,到最后支持数百万的用户。
从单个服务开始千里之行,始于足下,让我们从最简单的单个服务开始。所有的内容都在一台服务器上运行,包括 Web 程序, 数据库,缓存 等等, 如下图
我们看一下它的工作流程。
- 用户通过域名访问网站, 比如, api.mysite.com, 通常情况下, 域名解析服务 (DNS) 是由第三方提供的付费服务, 而不是我们的服务器所提供的。
- 返回 IP 地址给浏览器或者移动设备, 比如, 15.125.23.214。
- 通过 IP 地址, 发送 Http 请求到我们的 Web 服务器。
- Web 服务器返回 html 或者 json 内容, 浏览器进行渲染。
随着用户量的增长,此时一台服务器已经独木难支,我们需要两台服务器, 一个用于 Web 服务, 一个用于数据库。
应该选择哪种数据库?您可以选择关系型数据库和非关系型数据库,那它们都有什么特点呢?
关系型数据库也称为关系型数据库管理系统 (RDBMS) 或
SQL 数据库,最常见的有 MySQL、Oracle 、PostgreSQL、Sql Server 等,可以通过 SQL 进行跨表查询。

