很久就想寫一套屬于自己的消息隊(duì)列組件,前段時(shí)候看了湯雪華同學(xué)的EQueue,感覺還是不錯(cuò)的,他也是看了rabbitMQ之后寫的Equeue,在設(shè)計(jì)上與前者有類似的地方,而大叔這次準(zhǔn)備寫一個(gè)LindQueue,當(dāng)前整體架構(gòu)都差不多,無非是生產(chǎn)者,管道,消費(fèi)者三個(gè)角色,而核心部分就是管道Broker這個(gè)東西了,為生產(chǎn)者提供了push操作;而為消費(fèi)者又提供了Pull操作;為了解耦考慮,他們之前沒有直接的引用關(guān)系,通訊采用tcp的方式,Broken的消息存儲(chǔ)介質(zhì)我們使用redis,生產(chǎn)者和消費(fèi)者與Broker的通訊我們采用FastSocket這個(gè)組件。
LindQueue設(shè)計(jì)架構(gòu)圖