前言 在服務(wù)器與客戶端進(jìn)行信息傳輸?shù)臅r候燃乍,是客戶端從服務(wù)器拉去消息彪标,還是服務(wù)器往客戶端推送消息,這是在設(shè)計一個需要網(wǎng)絡(luò)通訊系統(tǒng)需要考慮的問題财岔。本文將介紹推與拉這兩種交互方式的...
前言 在服務(wù)器與客戶端進(jìn)行信息傳輸?shù)臅r候燃乍,是客戶端從服務(wù)器拉去消息彪标,還是服務(wù)器往客戶端推送消息,這是在設(shè)計一個需要網(wǎng)絡(luò)通訊系統(tǒng)需要考慮的問題财岔。本文將介紹推與拉這兩種交互方式的...
前言 本文將介紹kafka的一條消息的發(fā)送流程,從消息的發(fā)送到服務(wù)端的存儲稚矿。上文說到kafak分為客戶端與服務(wù)端掏熬,要發(fā)送消息就涉及到了網(wǎng)絡(luò)通訊,kafka采用TCP協(xié)議進(jìn)行客...
前言 在源碼分析的第一部分Netty源碼(一)Netty架構(gòu)解析里面提到了netty的幾個關(guān)鍵組件 EventLoopEventLoop是Netty中最重要的組件,一個單線程...
前言 在java nio包中使用Buffer作為數(shù)據(jù)存放的載體鹏氧,分為HeapBuffer與DirectBuffer儿捧。netty針對nio中的Buffer缺點(diǎn)和自身的使用特點(diǎn)實(shí)...
前言 日常開發(fā)中經(jīng)常遇到一個業(yè)務(wù)發(fā)生之后需要觸發(fā)好幾個業(yè)務(wù)點(diǎn),比如訂單支付完成之后需要發(fā)送短信纵东、送會員積分定鸟、發(fā)送優(yōu)惠券等稿存。在分布式系統(tǒng)中我們可以通過消息隊列實(shí)現(xiàn),各個系統(tǒng)之間...
前言 本文將會具體分析NioEventLoop中的thread瞳秽,它的啟動時機(jī)瓣履,以及所履行的職責(zé)。還會分析一些netty的實(shí)現(xiàn)細(xì)節(jié)练俐,比如解決NIO的bug和一些優(yōu)化等袖迎。 thr...
前言 Netty源碼(一)Netty架構(gòu)解析分析了netty的基本原理和工作流程,其中EventLoop是netty中最核心的組件腺晾,本文將會分析EventLoop的主要設(shè)計思...
前言 Zab(Zookeeper Atomic Broadcast)是為ZooKeeper協(xié)設(shè)計的崩潰恢復(fù)原子廣播協(xié)議悯蝉,它保證zookeeper集群數(shù)據(jù)的一致性和命令的全局有...
??
Netty源碼(一)Netty架構(gòu)解析前言 ?分析一個框架的源碼首先要知道這個框架的設(shè)計思路是什么归形,是基于什么原理去實(shí)現(xiàn)的。不然直接去看源碼鼻由,很容易丟失在代碼的海洋暇榴,比如看Spring源碼要先知道IOC和AOP是...
前言 ?分析一個框架的源碼首先要知道這個框架的設(shè)計思路是什么蔼紧,是基于什么原理去實(shí)現(xiàn)的。不然直接去看源碼狠轻,很容易丟失在代碼的海洋奸例,比如看Spring源碼要先知道IOC和AOP是...
?什么是ZooKeeper?ZooKeeper是一個分布式重荠、開源的分布式應(yīng)用協(xié)作服務(wù)箭阶。它提供了一組簡單的原語,分布式應(yīng)用程序可以在這些原語的基礎(chǔ)上實(shí)現(xiàn)更高級別的服務(wù)戈鲁,用于同步...
?如何提高系統(tǒng)的讀的效率仇参?使用緩存。如何提高系統(tǒng)寫的效率婆殿?使用緩存诈乒。提高讀寫效率的關(guān)鍵在于減小磁盤I/O,特別是隨機(jī)磁盤I/O婆芦。平時我們使用緩存主要用在提高查詢效率上面怕磨,很少...
?NIO(Non-blocking I/O)喂饥,非阻塞的I/O模型。自java1.4版本之后推出肠鲫,為什么在已有I/O庫之后Java還會推出NIO员帮,以及NIO的原理是什么和基于N...
redis是一個高性能key-value內(nèi)存數(shù)據(jù)庫。在日常開發(fā)中使用redis最常見的就是當(dāng)做緩存导饲,基于redis的特殊數(shù)據(jù)結(jié)構(gòu)和相關(guān)特性捞高,redis的應(yīng)用場景還很多,比如實(shí)...