一、為什么會(huì)有粘包/拆包問題 1.1 根本原因:TCP 是面向流的協(xié)議 TCP 是一個(gè)面向字節(jié)流(byte-stream)的協(xié)議,不是面向消息的...
netty中事件的傳播主要包含inBound事件和outBound事件 首先我們看下ChannelInboundHandler接口,主要包含以下...
1.pipeline的初始化 之前我們分析過,每構(gòu)造一個(gè)channel的時(shí)候會(huì)通過newChannelPipeline初始化一個(gè)pipeline...
昨天已經(jīng)看到NioEventLoop的執(zhí)行是在SingleThreadEventExecutor.this.run(); 這個(gè)地方調(diào)用執(zhí)行的,那...
通過以下這行代碼創(chuàng)建SubReactor線程組,也就是NioEventLoop線程組; 構(gòu)造一個(gè)SelectorProvider.provide...
以netty源碼中的為EchoServer例,分析netty服務(wù)端啟動(dòng)的流程 首先在ServerBootstrap調(diào)用group方法的時(shí)候會(huì)傳進(jìn)...
本小節(jié)我們來討論Kafka生產(chǎn)者是如何發(fā)送消息到Kafka的, Kafka項(xiàng)目有一個(gè)生產(chǎn)者客戶端,我們可以通過這個(gè)客戶端的API來發(fā)送消息。生產(chǎn)...
為了便于說明問題,假設(shè)這里只有一個(gè)Kafka集群,集群中只有一個(gè)Kafka節(jié)點(diǎn),也就是只有一臺物理機(jī)。在這個(gè)Kafka broker實(shí)例的 $...
寫這篇文章的目的主要是為了記錄下自己在zookeeper 鎖上踩過的坑,以及踩坑之后自己的一點(diǎn)認(rèn)識; 從zk分布式鎖原理說起,原理很簡單,大家也...