一致性哈希
?環(huán)形Hash解決節(jié)點的增刪問題,虛擬節(jié)點解決平衡性問題。
http://blog.csdn.net/kongqz/article/details/6695417 ? http://www.jiacheo.org/blog/174 ? http://blog.csdn.net/sparkliang/article/details/5279393 ?(虛擬節(jié)點)
?
C10K問題
編寫連接數(shù)巨大的高負載服務器程序時,經(jīng)典的多線程模式和select模式都不再適用。 應當拋棄它們,采用epoll/kqueue/dev_poll來捕獲I/O事件。最后簡要介紹了AIO。
epoll:(1) LT水平觸發(fā) (2) ET邊緣觸發(fā)
epoll優(yōu)于傳統(tǒng)select及poll有以下幾點:
(1) epoll不會隨著fd數(shù)目的增長而效率降低,而且一個進程同時打開的fd數(shù)目的限制也不會成為瓶頸。
(2) epoll使用mmap來進行內(nèi)核與用戶空間的消息傳遞,以此避免內(nèi)存拷貝的代價。
http://www.kegel.com/c10k.html ? http://blog.sina.com.cn/s/blog_68ffc7a40101822l.html ? http://wenku.baidu.com/view/33e41da6f524ccbff12184f9.html
蓄水池抽樣
題目:有一個很大很大的輸入流,大到?jīng)]有存儲器可以將其存儲下來,而且只輸入一次,如何從這個輸入流中隨機取得k個記錄?(N未知)
for i= k+1 to N
M=random(1, i);
if( M < k)
SWAP the Mth value and ith value
end for
http://www.cnblogs.com/giraffe/p/3223369.html
無鎖隊列
CAS操作——Compare & Set,或是 Compare & Swap,現(xiàn)在幾乎所有的CPU指令都支持CAS的原子操作。
1)無鎖隊列主要是通過CAS、FAA這些原子操作,和Retry-Loop實現(xiàn)。這些技術都可以用在其它的無鎖數(shù)據(jù)結(jié)構上。
2)對于Retry-Loop,其實和鎖什么什么兩樣。只是這種“鎖”的粒度變小了,主要是“鎖”HEAD和TAIL這兩個關鍵資源。而不是整個數(shù)據(jù)結(jié)構。
http://coolshell.cn/articles/8239.html
數(shù)據(jù)庫Sharding
Sharding的基本思想就要把一個數(shù)據(jù)庫切分成多個部分放到不同的數(shù)據(jù)庫(server)上,從而緩解單一數(shù)據(jù)庫的性能問題。不太嚴格的講,對于海量數(shù)據(jù)的數(shù)據(jù)庫,如果是因為表多而數(shù)據(jù)多,這時候適合使用垂直切分,即把關系緊密(比如同一模塊)的表切分出來放在一個server上。如果表并不多,但每張表的數(shù)據(jù)非常多,這時候適合水平切分,即把表的數(shù)據(jù)按某種規(guī)則(比如按ID散列)切分到多個數(shù)據(jù)庫(server)上。當然,現(xiàn)實中更多是這兩種情況混雜在一起。
http://blog.csdn.net/bluishglc/article/details/6161475
(待續(xù))
?
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
