> ### Kafka篇 (已完結)
- 在設計高可用架構時,Kafka 我們準備了三臺 Zookeeper 和 三臺 Kafka,要是主節點掛了,從節點就可以頂替上。結果有一天,一臺 Kafka 宕機, 導致我們的1/3和 Kafka 相關的業務不能用。呃?...... 那是因為沒有正確理解分區和副本,導致我們三臺 Kafka 和一臺 Kafka 沒多大區別, 只不過是將數據分成三份存儲。
- 在書中會講到如下內容:
- 為什么需要消息隊列
- 高吞吐、高可用 MQ 對比分析
- Kafka 相關概念
- 分區, 副本, 消費組
- 重復消費和數據丟失問題
- 如何確保一條消息只被一個服務消費
- 操作命令
> ### Redis篇 (已完成)
- 在設計高可用高并發架構時, Redis 我們準備了六個實例, 三主三從交叉配對分布在三臺服務器上。一對主從實例不要放在同一臺服務器上, 避免服務器宕機時導致部分數據不能訪問。看起來很完美的樣子,可在代碼操作存取Redis數據時, 有時候能成功有時候又提示類似 (error) MOVED 6373 127.0.0.1:8002 錯誤。這一會成功一會失敗的,好傷腦筋。不管了把鍋丟給運維, 就說是他們配置有問題。還是一個問題也是讓我們很困惑, Redis Sentinal 和 Redis Cluster是不是要搭配使用呢? Redis Sentinal 解決高可用,Redis Cluster 解決高并發, 然后我們兩個一起配置在Redis上, 結果GG了, Redis實例起不來了。
- 在書中會講到如下內容:
- 為什么需要緩存
- Redis 和 Memcached 對比分析
- Redis數據結構
- 內存淘汰策略和緩存策略
- 有序集合, 消息隊列, 延遲隊列, 訂閱模式
- 緩存雪崩、擊穿、穿透
- 數據持久化 AOF和RDB 以及機器斷電對數據的影響
- Redis Sentinel 和 Redis Cluster
- 操作集群有時能成功, 有時出現類似 MOVED 6373 127.0.0.1:8002 錯誤