Skip to content

Select language

目前語言: 繁體中文

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 嗎?

您即將前往外部網站。我們無法控制其內容或隱私慣例。

目的地

繼續前往網站