RabbitMQ入門

RabbitMQ:優點:
下述東西先mark一下,待驗證

RabbitMQ
  單機吞吐量:萬級
  topic數量都吞吐量的影響:
  時效性:微秒級,延時低是一大特點。
  可用性:高,基於主從架構實現高可用性
  消息可靠性:
  功能支持:基於erlang開發,所以併發能力很強,性能極其好,延時很低
  總結:  
    erlang語言開發,性能極其好,延時很低;  
    吞吐量到萬級,MQ功能比較完備  
    開源提供的管理界面非常棒,用起來很好用  
    社區相對比較活躍,幾乎每個月都發布幾個版本分  
    在國內一些互聯網公司近幾年用rabbitmq也比較多一些   但是問題也是顯而易見的,RabbitMQ確實吞吐
    量會低一些,這是因爲他做的實現機制比較重。 erlang開發,很難去看懂源碼,基本職能依賴於開源社
    區的快速維護和修復bug。 rabbitmq集羣動態擴展會很麻煩,不過這個我覺得還好。其實主要是erlang
    語言本身帶來的問題。很難讀源碼,很難定製和掌控。
Kafka

  單機吞吐量:十萬級,最大的優點,就是吞吐量高。
  topic數量都吞吐量的影響:topic從幾十個到幾百個的時候,吞吐量會大幅度下降。所以在同等機器下,kafka儘量
  保證topic數量不要過多。如果要支撐大規模topic,需要增加更多的機器資源
  時效性:ms級
  可用性:非常高,kafka是分佈式的,一個數據多個副本,少數機器宕機,不會丟失數據,不會導致不可用
  消息可靠性:經過參數優化配置,消息可以做到0丟失
  功能支持:功能較爲簡單,主要支持簡單的MQ功能,在大數據領域的實時計算以及日誌採集被大規模使用
  總結:
    kafka的特點其實很明顯,就是僅僅提供較少的核心功能,但是提供超高的吞吐量,ms級的延遲,極高的可用
    性以及可靠性,而且分佈式可以任意擴展  
    同時kafka最好是支撐較少的topic數量即可,保證其超高吞吐量  
    kafka唯一的一點劣勢是有可能消息重複消費,那麼對數據準確性會造成極其輕微的影響,在大數據領域中以及
    日誌採集中,這點輕微影響可以忽略
   一般的業務系統要引入MQ,最早大家都用ActiveMQ,但是現在確實大家用的不多了,沒經過大規模吞吐量場景的驗證,
社區也不是很活躍,後來大家開始用RabbitMQ,但是確實erlang語言阻止了大量的java工程師去深入研究和掌控他,對公司而言,
幾乎處於不可控的狀態,但是確實人家是開源的,比較穩定的支持,活躍度也高;不過現在確實越來越多的公司,會去用RocketMQ,
確實很不錯,但是要想好社區萬一突然黃掉的風險,所以中小型公司,技術實力較爲一般,技術挑戰不是特別高,用RabbitMQ是
不錯的選擇;大型公司,基礎架構研發實力較強,用RocketMQ是很好的選擇,如果是大數據領域的實時計算、日誌採集等場景,
用Kafka是業內標準的,絕對沒問題,社區活躍度很高,絕對不會黃,何況幾乎是全世界這個領域的事實性規範

安裝 :
(1).shell腳本

#!/bin/sh

## Install RabbitMQ signing key
sudo apt-key adv --keyserver "hkps.pool.sks-keyservers.net" --recv-keys "0x6B73A36E6026DFCA"

## Install apt HTTPS transport
sudo apt-get install apt-transport-https

## Add Bintray repositories that provision latest RabbitMQ and Erlang 21.x releases
sudo tee /etc/apt/sources.list.d/bintray.rabbitmq.list <<EOF
deb https://dl.bintray.com/rabbitmq-erlang/debian bionic erlang-21.x
deb https://dl.bintray.com/rabbitmq/debian bionic main
EOF

## Update package indices
sudo apt-get update -y

## Install rabbitmq-server and its dependencies
sudo apt-get install rabbitmq-server -y --fix-missing

(2).deb
進官網點下載all,安裝就好.

(3) 安裝完成後啓動服務
啓動RabbitMQ-server 服務:

sudo service rabbitmq-server restart

啓用rabbitmq-management插件

sudo rabbitmq-plugins enable rabbitmq_management

使用瀏覽器訪問 http://127.0.0.1:15672,使用默認的guest/guest用戶登錄:
就能監聽流量,併發等等情況.
在這裏插入圖片描述

2.Tutorials:
主要講了6個例子,可以一個個調試一下,看一下.最後一個是遠程過程調用,與rpc,grpc差不多.

在這裏插入圖片描述
引用2是這些例子的翻譯,有需要時可以拿來看看.

引用:
1.https://www.rabbitmq.com/#getstarted
2.http://rabbitmq.mr-ping.com/installation/Platforms_supported_by_RabbitMQ.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章