前言 最近整理了一下RocketMQ Connect Runtime中處理connector/task 的config的邏輯,然后也嘗試提出了幾個(gè)優(yōu)化RocketMQ Con...
前言 我最近在使用MyBatis Generator的過程中遇到了點(diǎn)問題,網(wǎng)上雖然已有相關(guān)的解決方案,但結(jié)果不盡人意,都只是在規(guī)避問題,并沒有真正的解決問題。所以我親自操刀,...
I was reading the raft implementation recently, and learned a lot from it. I met some p...
理解CAP 中的P對我來說挺難的,之前讀過很多次相關(guān)的概念,但是始終對于network parition 沒有清晰的定義。 事實(shí)上,Partition Tolerance 描...
最近在看RocketMQ 的raft實(shí)現(xiàn),名字叫Dledger。找了一篇源碼分析的博客發(fā)現(xiàn)其中很多細(xì)節(jié)都解釋的不是很清晰。Dledger 選主過程 首先我們要知道Rocket...
最近在看RocketMQ 的raft實(shí)現(xiàn),名字叫Dledger。找了一篇源碼分析的博客發(fā)現(xiàn)其中很多細(xì)節(jié)都解釋的不是很清晰。Dledger 選主過程 首先我們要知道Rocket...
不會(huì)的,因?yàn)榧僭O(shè)少數(shù)派的lease還沒有刷新時(shí),多數(shù)派那邊的新leader就被選舉出來了,這就退化到了情況三,即使多數(shù)派那邊新的leader理論上能獲得多數(shù)請求贊同從而寫入,但是問題在于少數(shù)派的舊region leader 根本就不能把寫請求轉(zhuǎn)發(fā)到多數(shù)派的raft leader上。(新raft leader相當(dāng)于雖然有這寫入的能力,但是沒有人能夠給他發(fā)寫入的請求)。一定是等到raft leader 和 region leader都在同一邊了才有可能有新的寫成功。
為 Raft 引入 leader lease 機(jī)制解決集群腦裂時(shí)的 stale read 問題問題:當(dāng) raft group 發(fā)生腦裂的情況下,老的 raft leader 可能在一段時(shí)間內(nèi)并不知道新的 leader 已經(jīng)被選舉出來,這時(shí)候客戶端在老的 leader ...
和broker自己本身相關(guān)的組件 BrokerController BrokerStatsManager BrokerFastFailure 和remoting相關(guān)的組件 N...
最近正好在看Java Concurrency In Practice(以下簡稱JCIP), 里面的很多思想都在rocketmq runtime的源碼中有所體現(xiàn),因此就嘗試著從...