跳转到内容

选择语言

当前语言: 简体中文

System Design

Source: https://github.com/madd86/awesome-system-design at 52834671253b
License: CC0-1.0
Read the English original

This edition is an AI-assisted translation.

Awesome

如果你喜欢这些内容 📖,请支持项目的曝光度,点个 👍| ⭐| 👏

分布式计算和大数据系统设计的文章、书籍、视频与工具精选清单。

无论你是在准备面试,还是想设计分布式/微服务应用,这份清单都能助你一臂之力。

注意:GitHub 星标数并不能反映此处每个项目的实际使用情况或受欢迎程度。

灵感来自 Awesome-BigData

由 Gabriel Leon de Mattos 创建

文章

书籍

视频

工具

额外内容



分布式系统主题的视频合集。

  • 分布式系统中最常用工具的合集
  • MariaDB - MariaDB 是 MySQL 服务器的一个分支。

  • MySQL - 广泛使用的关系数据库。

  • PostgresSQL - 关系数据库越来越受欢迎。

  • SQLite - 另一个广泛使用的数据库内置于所有手机和大多数计算机中。

  • Sql Server - 广泛使用的关系数据库。

  • Apache Ignite - [3.3k ⭐] - 在具有 ACID 属性的内存缓存中。

  • Couchbase - 受到 memcached 的启发,添加了复制和持久化等功能。

  • Oracle Coherence - [126 ⭐] - 高扩展性、低延迟的内存缓存。

  • Memcached - [10.2k ⭐] - 第一个内存缓存数据库,高性能和多线程。

  • Redis - [44k ⭐] - 广泛使用的内存缓存数据库,具有许多附加功能,例如持久存储和支持字符串、列表、集合、哈希、流、位图等。

  • Apple FoundationDB - [10k ⭐] - 多模型(单个数据库中的多种数据类型)、ACID 键值存储。易于扩展和容错。

  • Cosmos DB - Microsoft 的全球分布式多模型数据库服务。东方且独立地扩展吞吐量和存储。 SQL、MongoDB、Cassandra、表、Gremlin 和 Spark API。

  • CouchDB - [4.6k ⭐] - 符合 ACID 的 NoSQL 文档存储数据库,提供用于读取和更新数据库文档的 RESTful HTTP API。

  • MongoDB - 最流行的通用“NoSQL”数据库之一。

  • RethinkDB - [23.8k ⭐] - 文档存储数据库。

  • ElasticSearch - [49.9k ⭐] - 广泛流行的“NoSQL”数据库,用于快速且可扩展的搜索引擎。

  • Cosmos DB - Microsoft 的全球分布式多模型数据库服务。东方且独立地扩展吞吐量和存储。 SQL、MongoDB、Cassandra、表、Gremlin 和 Spark API。

  • Amazon DynamoDB - 键值和文档数据库,高性能、可扩展且安全。

  • Google Bigtable - 可扩展且高性能的“NoSQL”数据库,适用于大型分析和操作工作负载。

  • Cassandra - Facebook 诞生的项目速度非常快,易于扩展,并且可以选择包含每个操作的一致性。

  • Scylla - [4.9k ⭐] - 使用seastar框架的“NoSQL”数据存储,与Cassandra兼容。

  • HBase - [3.6k ⭐] - 模仿 Google 的 Bigtable 并用 Java 编写。作为 Apache Hadoop 项目的一部分开发,并在 HDFS 或 Alluxio 之上运行。 (参见Hadoop Related)

  • Cosmos DB - Microsoft 的全球分布式多模型数据库服务。东方且独立地扩展吞吐量和存储。 SQL、MongoDB、Cassandra、表、Gremlin 和 Spark API。

  • Amazon Neptune - 快速、可靠且完全托管的图形数据库服务。

  • ArangoDB - [10k ⭐] - 灵活的文档、键值、图表数据库。使用自己的查询语言 AQL。

  • Neo4j - [7.9k ⭐] - 对图形数据库的良好支持,符合 ACID 且灵活。

  • Cosmos DB - Microsoft 的全球分布式多模型数据库服务。东方且独立地扩展吞吐量和存储。 SQL、MongoDB、Cassandra、表、Gremlin 和 Spark API。

  • HDFS - Hadoop 文件系统是大数据竞争对手中广泛流行的选择,提供高吞吐量访问。

  • Lustre - 计算机集群的文件系统。

  • CephFS - 统一的分布式存储系统。

  • GlusterFS - 横向扩展 NAS 文件系统。

  • MooseFS - 符合 POSIX 标准的分布式文件系统。

  • XtreemFS - 容错文件系统。

  • Kubernetes - 在裸机或虚拟服务器上部署、管理和自动扩展容器集群的非常流行的方法。
  • Apache Samza - 构建有状态的应用程序,实时处理来自多个源(包括 Kafka)的数据。简单且廉价的多订阅者模型,可以消除背压并具有可靠的持久性和低延迟。

  • Apache Flink - 基于流和变换的概念。使用maven,将批处理任务作为具有有限边界的数据流来处理。低延迟、高吞吐量。

  • Amazon Kinesis Streams - 持久、可扩展、实时的服务。每秒从数十万个来源收集千兆字节的数据,包括数据库事件流、网站点击流、金融交易等。

  • Azure Stream Analytics - 专为关键任务工作负载而设计的实时分析服务。

  • Amazon MQ - 来自 Amazon 的开源消息代理。

  • Apache ActiveMQ - 它是一个多协议、基于 Java 的消息传递服务器。

  • Apache Kafka - 广泛流行的消息代理,具有低数据流延迟。

  • RabbitMQ - 广受青睐的轻量化 用 erlang 编写的消息代理,还支持多种消息协议。

  • IronMQ - 非常快速且高度可扩展的消息代理。 (非开源)

  • Apache Pulsar - 由雅虎创建,还具有高度可扩展性、低延迟、地理复制和多租户功能。

  • Kestrel - 用 Scala 编写并使用 memcached 协议。它的工作原理很像卡夫卡。

  • Azure Service Bus - 完全托管的企业集成消息代理。

  • SeeSaw - [5.1k ⭐] - 由 Google 使用,用 Go 开发,基于 Linux 的虚拟负载均衡器服务器。

  • HAProxy - 广泛流行的选项,提供高可用性、代理、TCP/HTTP 负载平衡。由 Reddit、Imgur、MaxCDN、GitHub、AirBNB 使用。

  • Zevenet - 支持L3、L4和L7。使用 docker 存储库轻松安装。支持高级健康检查监控。

  • Neutrino - 由 eBay 使用,使用 Scala 和 Netty 构建。支持循环和最少连接算法。

  • Nginx - 等等,Nginx 不是一个 Web 服务器吗?是的,开源确实支持基本级别的内容交换和请求路由。 Plus版本支持负载均衡、WAF、监控等。

  • Openresty - Nginx + Lua,完美组合。

  • F5 - 强大的硬件负载平衡器选项,支持多种协议(IP、TCP、FTP、UDP、HTTP)。

  • TP-Link - 作为负载均衡器的更便宜的替代方案。

  • Barracuda - 对于内部服务器而言,负载平衡的最佳选择之一。内置顶级安全措施、综合报告和监控出站流量以防止数据丢失。

  • Amazon Elastic Load Balancing - 亚马逊客户的热门选择,支持lambda函数,可扩展性强。

  • Google Load Balancing - 谷歌客户的热门选择,具有自动缩放功能,速度非常快,集成了 CDN。

  • Cloudflare Load Balancing - Cloudflare 提供的可扩展负载平衡,具有快速故障转移和仪表板。

  • DigitalOcean Load Balancing - 如果您是 digitalocean 客户,这是一个不错的选择,非常便宜,区域可用性,可扩展,易于在其他 Droplet 中部署。

  • Azure Load Balancing - Microsoft Azure 客户的热门选择。支持内部和外部流量、ipv6、监控和标准负载平衡功能集。

  • Ambari - 集成了大部分hadoop相关技术的仪表板,方便管理和执行。
  • Sqoop - 在 Hadoop 和结构化数据存储(例如关系数据库)之间高效传输数据。

  • Flume - 分布式、高可用且高效地收集、聚合和移动大量日志数据。

  • Apache Kafka - 广泛流行的消息代理,具有低数据流延迟。

  • Oozie - 在 xml 中创建工作流程以分步执行作业(来自其他 hadoop 生态系统应用程序),也允许并行执行。
  • Hive - 使用SQL查询hadoop存储的数据。
  • Pig - 类似于 SQL 的脚本语言来查询 hadoop 数据。
  • Tez - 解决了与 Spark 和 MapReduce 类似的问题,它比 MapReduce 更高效,因为它计算出最有效的方法。
  • Map Reduce - MapReduce,顾名思义,映射数据并减少结果。
  • Spark - 强大的数据处理功能不仅可以处理 Tez(和 MapReduce)等数据,还可以实时处理数据流、在 ML 中应用回归分析算法等等。
  • Apex - *已退休的项目,它是一个统一流处理和批处理的 YARN 原生平台。
  • HBase - [3.6k ⭐] - 模仿 Google 的 Bigtable 并用 Java 编写。作为 Apache Hadoop 项目的一部分开发。
  • YARN - “又一个资源谈判者”,像内核一样工作,管理跨集群的计算机资源。
  • MESOS - 通过管理集群中的 CPU、内存、存储和其他资源,像 Linux 内核一样工作。
  • Gin - [40.6k ⭐] - 使用 Golang 的极速微服务框架,高吞吐能力。

  • Phoenix - [15.5k ⭐] - 分布式处理,易于扩展,支持频道和实时聊天。该框架 - 用 Elixir 编写,使用 BEAM 和 Erlang,对于大型系统非常有效并支持高吞吐量。

  • Express.js - [49.6k ⭐] - 快速的node.js Rest api,可以在许多场景下表现良好。

  • Rails - [46.2k ⭐] - Rails 使用 Ruby 编写,以高效的方式提供从原型到生产的快速 API。

  • Play Framework - [11.6k ⭐] - 用 Scala/Java 编写的非常快速、高吞吐量的框架,默认情况下是 RESTful。

  • Flask - [51.6k ⭐] - 用于快速原型设计和生产的轻量级 Python 微框架。

  • FastAPI - [22.7k ⭐] - 受 Flask 启发但更现代的轻量级 Python 微框架,使用 Python 异步。

  • Django REST - [18.4k ⭐] - Django Rest 用 Python 编写,是一个强大且灵活的 REST API。效率和上市时间类似于 Rails。

  • ASP.NET Core MVC - 一个丰富的框架,用于使用 C# 或 F# 中的模型-视图-控制器设计模式构建 Web 应用程序和 API。 Web 框架的 TechEmpower Composite Benchmarks 上排名第 6。

  • Fastify - [15.4k ⭐] - Node.js Web 框架高度专注于以最少的开销和强大的插件架构提供最佳的开发人员体验。

HagiCode

HagiCode 是面向项目开发的 AI 编码工作台:丰富、便捷的界面交互让规划、Agent 执行与项目工作更容易上手和跟进,带来更投入的开发体验。

丰富、便捷的界面交互,让规划、Agent 执行与项目工作更容易上手和跟进。

访问 HagiCode阅读文档
  • 智能OpenSpec 工作流把意图转化为从提案、设计、任务到交付的可执行路径。
  • 高效多 Agent 并行推进调研、实现与审阅,并支持多仓库变更和你熟悉的 Agent CLI。
  • 有趣丰富、便捷的界面交互让规划、Agent 执行与项目工作更容易上手和跟进,带来更投入的开发体验。

下载 Windows 版

从 Microsoft Store 获取全部下载

让想法变成真正交付的软件。

HagiCode 是面向项目开发的 AI 编码工作台:用 OpenSpec 工作流规划变更,多 Agent 并行执行,再由 Hero Scenario 让进度一目了然,把想法变成真正交付的软件。

智能
OpenSpec 工作流把意图变成从提案到交付的可执行路径。
高效
多 Agent 并行推进调研、实现与审阅。
有趣
丰富、便捷的界面交互,让规划、Agent 执行和项目工作更容易跟进。

离开 Awesome Site?

你即将访问外部网站。我们无法控制其内容或隐私惯例。

目标地址

继续访问网站