APP 推薦:一款編程入門和練習(xí)的 APP: Py
Py - Learn to Code (App Store 下載鏈接)
適合 kill time,內(nèi)容偏入門了解基本概念和復(fù)習(xí)(希望有更深入的內(nèi)容),用零散的時(shí)間完成一個(gè) 5 分鐘課程,在等待的時(shí)候刷乎完,比刷朋友圈有營(yíng)養(yǎng)。涵蓋一些基本課程:HTML, SQL, Python, API 等品洛,目前只限于很基礎(chǔ)的東西树姨,期待有更深入的內(nèi)容。
從操作系統(tǒng)的 IO 模型理解 IO 多路復(fù)用原理
Linux IO模式及 select桥状、poll帽揪、epoll詳解
從操作系統(tǒng)基本概念上解釋 IO 多路復(fù)用跟阻塞 IO、非阻塞 IO辅斟、同步 IO转晰、異步 IO 之間的關(guān)系。(參考了經(jīng)典著作《Unix 網(wǎng)絡(luò)編程》第六章)
其實(shí) IO 多路復(fù)用屬于同步 IO 的一種士飒,跟阻塞 IO查邢、非阻塞 IO 屬于同一個(gè)層面的概念,而異步 IO 則跟其他同步 IO 的模型都不一樣酵幕。 IO 多路復(fù)用調(diào)用 select/poll/epoll 函數(shù)阻塞地監(jiān)聽多個(gè)文件描述符(FD)扰藕, 通常用于實(shí)現(xiàn)同時(shí)監(jiān)聽多個(gè)網(wǎng)絡(luò) IO連接(也是 FD 的一種)。像 Redis 就是屬于 IO 多路復(fù)用的典型代表芳撒。
用一個(gè)公司運(yùn)作的方式解釋 CAP 理論
A plain English introduction to CAP theorem
先生和太太合作開辦”信息記憶公司“邓深,用戶可以打電話給公司記錄某些信息未桥,然后隨時(shí)打電話過來(lái)查詢。但現(xiàn)實(shí)過程中如何保證兩人的信息同步芥备,又能及時(shí)響應(yīng)用戶的查詢冬耿?這個(gè)問題跟分布式數(shù)據(jù)庫(kù)運(yùn)作原理一樣,需要符合 CAP 理論(不能同時(shí)滿足 CAP 三個(gè)要素:一致性萌壳、可用性亦镶、分區(qū)容錯(cuò))。
- 單點(diǎn)運(yùn)作:只有先生工作袱瓮,不存在 CAP 的問題染乌。
- AP:先生和太太一起工作,他們分別記錄用戶信息到自己的筆記本懂讯,導(dǎo)致兩個(gè)人的信息不一致荷憋。
- CP:每次用戶更新信息,需要先同步給另一個(gè)人褐望,(1)期間另一個(gè)人不能相應(yīng)其他請(qǐng)求(2)如果另一個(gè)人請(qǐng)假勒庄,就不能同步,會(huì)導(dǎo)致整個(gè)系統(tǒng)不能工作瘫里。
- AC:如果夫妻鬧矛盾实蔽,不去同步信息,整個(gè)系統(tǒng)都不能運(yùn)作(所以 CAP 理論一般需要保證 P 可用)
- 最終一致性:請(qǐng)一個(gè)額外的員工谨读,幫忙做兩個(gè)人的信息同步的工作局装,雖然有延時(shí),但對(duì)于讀多寫少的能滿足需求劳殖。
Redis Cluster 集群節(jié)點(diǎn)之間如何保持連接
Life in a Redis Cluster: Meet and Gossip with your neighbors
本文提供了幾個(gè)視頻(需要梯子)去直觀地理解一個(gè)集群建立起來(lái)時(shí)的流程和 Gossip 協(xié)議運(yùn)作方式铐尚。
- Redis 集群會(huì)在
cluster-node-timeout
這個(gè)配置參數(shù)時(shí)間內(nèi)檢查一遍所有節(jié)點(diǎn)的存活 - Gossip 協(xié)議包中會(huì)包含集群中一部分節(jié)點(diǎn)的信息(而不是全部節(jié)點(diǎn)信息),來(lái)減少整個(gè)信息量哆姻。
當(dāng)然關(guān)于集群的詳細(xì)信息宣增,還是推薦讀官網(wǎng)文章Redis Cluster Specification。
Python 模塊學(xué)習(xí)
-
attrs 簡(jiǎn)化初始化類中屬性定義的工作矛缨,并自動(dòng)生成
__repr__
等函數(shù)爹脾。 -
fire Google 出品快速360度各種姿勢(shì)來(lái)生成命令行的模塊,可以直接對(duì)函數(shù)箕昭、類生成命令行灵妨。有篇不錯(cuò)的參考文章 https://zhuanlan.zhihu.com/p/37779046,最后的例子直接把
redis-py
模塊封裝成了類似redis-cli
的命令行落竹。
左耳朵耗子哥十五年前的 GDB 調(diào)試教程今天依然適用
本系列有七篇文章泌霍,如果需要閱讀下一篇,只需要在上一篇的 URL 鏈接里面最后的 id+1 即可筋量。