面試官心理分析
如果有人問到你MQ的知識,高可用是必問的。上一講提到,MQ會導致系統(tǒng)可用性降低。所以只要你用了MQ,接下來問的一些要點肯定就是圍繞著MQ的那些缺點怎么來解決了。
要是你傻乎乎的就干用了一個MQ,各種問題從來沒考慮過,那你就杯具了,面試官對你的感覺就是,只會簡單使用一些技術,沒任何思考,馬上對你的印象就不太好了。這樣的同學招進來要是做個20k薪資以內(nèi)的普通小弟還湊合,要是做薪資20k+的高工,那就慘了,讓你設計個系統(tǒng),里面肯定一堆坑,出了事故公司受損失,團隊一起背鍋。
面試題剖析
這個問題這么問是很好的,因為不能問你Kafka的高可用性怎么保證?ActiveMQ的高可用性怎么保證?一個面試官要是這么問就顯得很沒水平,人家可能用的就是RabbitMQ,沒用過Kafka,你上來問人家Kafka干什么?這不是擺明了刁難人么。
所以有水平的面試官,問的是MQ的高可用性怎么保證?這樣就是你用過哪個MQ,你就說說你對那個MQ的高可用性的理解。
RabbitMQ的高可用性
RabbitMQ是比較有代表性的,因為是基于主從(非分布式)做高可用性的,我們就以RabbitMQ為例子講解第一種MQ的高可用性怎么實現(xiàn)。
RabbitMQ有三種模式:單機模式、普通集群模式、鏡像集群模式。
單機模式
單機模式,就是Demo級別的,一般就是你本地啟動了玩玩兒的