mirror of
https://github.com/donnemartin/system-design-primer.git
synced 2025-12-16 09:58:56 +03:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
@@ -102,16 +102,16 @@ lang: zh-TW
|
||||
<br/>
|
||||
</p>
|
||||
|
||||
* [系統設計主題:從這裡開始](#系統設計主題:從這裡開始)
|
||||
* [第一步:複習關於可擴展性的影片講座](#第一步:複習關於可擴展性的影片講座)
|
||||
* [第二步:複習關於可擴展性的文章](#第二步:複習關於可擴展性的文章)
|
||||
* [系統設計主題:從這裡開始](#系統設計主題從這裡開始)
|
||||
* [第一步:複習關於可擴展性的影片講座](#第一步複習關於可擴展性的影片講座)
|
||||
* [第二步:複習關於可擴展性的文章](#第二步複習關於可擴展性的文章)
|
||||
* [下一步](#下一步)
|
||||
* [效能與可擴展性](#效能與可擴展性)
|
||||
* [延遲與吞吐量](#延遲與吞吐量)
|
||||
* [可用性與一致性](#可用性與一致性)
|
||||
* [CAP 理論](#CAP-理論)
|
||||
* [CP - 一致性與部分容錯性](#CP-一致性與部分容錯性)
|
||||
* [AP - 可用性與部分容錯性](#AP-可用性與部分容錯性)
|
||||
* [CAP 理論](#cap-理論)
|
||||
* [CP-一致性與部分容錯性](#cp-一致性與部分容錯性)
|
||||
* [AP-可用性與部分容錯性](#ap-可用性與部分容錯性)
|
||||
* [一致性模式](#一致性模式)
|
||||
* [弱一致性](#弱一致性)
|
||||
* [最終一致性](#最終一致性)
|
||||
@@ -120,37 +120,37 @@ lang: zh-TW
|
||||
* [容錯轉移](#容錯轉移)
|
||||
* [複寫機制](#複寫機制)
|
||||
* [域名系統](#域名系統)
|
||||
* [內容傳遞網路(CDN)](#內容傳遞網路(CDN))
|
||||
* [推送式 CDNs](#推送式-CDNs)
|
||||
* [拉取式 CDNs](#拉取式-CDNs)
|
||||
* [內容傳遞網路(CDN)](#內容傳遞網路cdn)
|
||||
* [推送式 CDNs](#推送式-cdns)
|
||||
* [拉取式 CDNs](#拉取式-cdns)
|
||||
* [負載平衡器](#負載平衡器)
|
||||
* [主動到備用切換模式(AP Mode)](#主動到備用切換模式-(AP-Mode)-)
|
||||
* [雙主動切換模式(AA Mode)](#雙主動切換模式-(AA-Mode)-)
|
||||
* [主動到備用切換模式(AP Mode)](#主動到備用切換模式ap-mode)
|
||||
* [雙主動切換模式(AA Mode)](#雙主動切換模式aa-mode)
|
||||
* [第四層負載平衡](#第四層負載平衡)
|
||||
* [第七層負載平衡](#第七層負載平衡)
|
||||
* [水平擴展](#水平擴展)
|
||||
* [反向代理(網頁伺服器)](#反向代理(網頁伺服器))
|
||||
* [反向代理(網頁伺服器)](#反向代理網頁伺服器)
|
||||
* [負載平衡器與反向代理伺服器](#負載平衡器與反向代理伺服器)
|
||||
* [應用層](#應用層)
|
||||
* [微服務](#微服務)
|
||||
* [服務發現](#服務發現)
|
||||
* [資料庫](#資料庫)
|
||||
* [關連式資料庫管理系統(RDBMS)](#關連式資料庫管理系統(RDBMS))
|
||||
* [關連式資料庫管理系統(RDBMS)](#關連式資料庫管理系統rdbms)
|
||||
* [主從複寫](#主從複寫)
|
||||
* [主動模式複寫](#主動模式複寫)
|
||||
* [聯邦式資料庫](#聯邦式資料庫)
|
||||
* [分片](#分片)
|
||||
* [反正規化](#反正規化)
|
||||
* [SQL 優化](#SQL-優化)
|
||||
* [NoSQL](#NoSQL)
|
||||
* [SQL 優化](#sql-優化)
|
||||
* [NoSQL](#nosql)
|
||||
* [鍵-值對的資料庫](#鍵-值對的資料庫)
|
||||
* [文件類型資料庫](#文件類型資料庫)
|
||||
* [列儲存型資料庫](#列儲存型資料庫)
|
||||
* [圖形資料庫](#圖形資料庫)
|
||||
* [SQL 或 NoSQL](#SQL-或-NoSQL)
|
||||
* [SQL 或 NoSQL](#sql-或-nosql)
|
||||
* [快取](#快取)
|
||||
* [客戶端快取](#客戶端快取)
|
||||
* [CDN 快取](#CDN-快取)
|
||||
* [CDN 快取](#cdn-快取)
|
||||
* [網站伺服器快取](#網站伺服器快取)
|
||||
* [資料庫快取](#資料庫快取)
|
||||
* [應用程式快取](#應用程式快取)
|
||||
@@ -159,21 +159,21 @@ lang: zh-TW
|
||||
* [什麼時候要更新快取](#什麼時候要更新快取)
|
||||
* [快取模式](#快取模式)
|
||||
* [寫入模式](#寫入模式)
|
||||
* [事後寫入(回寫)](#事後寫入(回寫))
|
||||
* [事後寫入(回寫)](#事後寫入回寫)
|
||||
* [更新式快取](#更新式快取)
|
||||
* [非同步機制](#非同步機制)
|
||||
* [訊息佇列](#訊息佇列)
|
||||
* [工作佇列](#工作佇列)
|
||||
* [背壓機制](#背壓機制)
|
||||
* [通訊](#通訊)
|
||||
* [傳輸控制通訊協定(TCP)](#傳輸控制通訊協定(TCP))
|
||||
* [傳輸控制通訊協定(TCP)](#傳輸控制通訊協定tcp)
|
||||
* [使用者資料流通訊協定 (UDP)](#使用者資料流通訊協定-udp)
|
||||
* [遠端程式呼叫 (RPC)](#遠端程式呼叫-rpc)
|
||||
* [具象狀態轉移 (REST)](#具象狀態轉移-rest)
|
||||
* [資訊安全](#資訊安全)
|
||||
* [附錄](#附錄)
|
||||
* [2 的次方表](#2-的次方表)
|
||||
* [每個開發者都應該知道的延遲數量](#每個開發者都應該知道的延遲數量)
|
||||
* [每個開發者都應該知道的延遲數量級](#每個開發者都應該知道的延遲數量級)
|
||||
* [其他的系統設計面試問題](#其他的系統設計面試問題)
|
||||
* [真實世界的架構](#真實世界的架構)
|
||||
* [公司的系統架構](#公司的系統架構)
|
||||
@@ -391,7 +391,7 @@ lang: zh-TW
|
||||
|
||||
### 第二步:複習關於可擴展性的文章
|
||||
|
||||
[可擴展性](http://www.lecloud.net/tagged/scalability)
|
||||
[可擴展性](http://www.lecloud.net/tagged/scalability/chrono)
|
||||
|
||||
* 包含以下主題:
|
||||
* [複製](http://www.lecloud.net/post/7295452622/scalability-for-dummies-part-1-clones)
|
||||
@@ -1174,7 +1174,7 @@ Redis 還有以下額外的功能:
|
||||
* 將該筆記錄儲存到快取
|
||||
* 將資料返回
|
||||
|
||||
```
|
||||
```python
|
||||
def get_user(self, user_id):
|
||||
user = cache.get("user.{0}", user_id)
|
||||
if user is None:
|
||||
@@ -1217,7 +1217,7 @@ set_user(12345, {"foo":"bar"})
|
||||
|
||||
快取程式碼:
|
||||
|
||||
```
|
||||
```python
|
||||
def set_user(user_id, values):
|
||||
user = db.query("UPDATE Users WHERE id = {0}", user_id, values)
|
||||
cache.set(user_id, user)
|
||||
@@ -1563,7 +1563,7 @@ REST 關注於揭露資料,減少客戶端/伺服器之間耦合的程度,
|
||||
L1 快取參考數量級 0.5 ns
|
||||
Branch mispredict 5 ns
|
||||
L2 快取參考數量級 7 ns 14x L1 cache
|
||||
Mutex lock/unlock 100 ns
|
||||
Mutex lock/unlock 25 ns
|
||||
主記憶體參考數量級 100 ns 20x L2 cache, 200x L1 cache
|
||||
Compress 1K bytes with Zippy 10,000 ns 10 us
|
||||
Send 1 KB bytes over 1 Gbps network 10,000 ns 10 us
|
||||
|
||||
Reference in New Issue
Block a user