learn:distributed-system
差異處
這裏顯示兩個版本的差異處。
兩邊的前次修訂版前次修改 下次修改 | 前次修改 最後一次修改 兩邊的下次修訂版 | ||
learn:distributed-system [2022/05/14 08:01] – [兩個技巧: Partition 和 Replicate] admin_wi1d5ky | learn:distributed-system [2022/05/14 08:13] – [兩個技巧: Partition 和 Replicate] admin_wi1d5ky | ||
---|---|---|---|
行 41: | 行 41: | ||
1. Node 增加時會產生 overhead | 1. Node 增加時會產生 overhead | ||
2. Node 之間的距離 | 2. Node 之間的距離 | ||
+ | |||
+ | --- | ||
+ | ## 面對分散式系統的兩個常用技巧: Partition 和 Replicate | ||
+ | |||
+ | - Partition: 把資料切成多個小塊 | ||
+ | - Replicate: 把資料複製多份 | ||
+ | |||
+ | ### 對 Performance & Availability 的影響 | ||
+ | |||
+ | | | Partition | ||
+ | | Performance | ||
+ | | Availability | 縮窄損害範圍 | ||
+ | |||
--- | --- | ||
行 52: | 行 65: | ||
- Consistency model (strong, eventual) | - Consistency model (strong, eventual) | ||
- | ### 如何評估抽象化:兩個面向 - 易理解程度 & 成本考量 | + | ### 兩個面向評估抽象化:易理解程度 & 成本考量 |
- 易理解程度: | - 易理解程度: | ||
- 成本考量: | - 成本考量: | ||
+ | |||
### 什麼叫「抽象得更好」 | ### 什麼叫「抽象得更好」 | ||
行 66: | 行 80: | ||
> 當我們每次進行抽象化時,都會失去對一些東西的掌握;假如遇到某些效能瓶頸時,還是得往實際面去解決,這時候就得重新審視那些被忽略的地方。 | > 當我們每次進行抽象化時,都會失去對一些東西的掌握;假如遇到某些效能瓶頸時,還是得往實際面去解決,這時候就得重新審視那些被忽略的地方。 | ||
- | |||
- | |||
- | ## 兩個技巧: Partition 和 Replicate | ||
- | |||
- | - Partition: 把資料切成多個小塊,降低搜尋的目標集、縮窄損害範圍 | ||
- | - Replicate: 把資料複製多份,增加存取吞吐量、提供備援資料 | ||
- | |||
- | ### Partition & Replicate 分別對 Performance & Availability 的影響 | ||
- | |||
- | | | Partition | ||
- | | Performance | ||
- | | Availability | 縮窄損害範圍 | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | --- | ||
learn/distributed-system.txt · 上一次變更: 2022/05/14 10:37 由 admin_wi1d5ky