rabbitMQ的介紹與安裝使用

0. 消息中間件的介紹

RabbitMQ是一個“傳統(tǒng)”消息代理,可以實現(xiàn)各種消息傳遞協(xié)議。它是首批實現(xiàn)合理級別功能,客戶端庫,開發(fā)工具和質(zhì)量文檔的開源消息代理之一。RabbitMQ最初是為實現(xiàn)AMQP而開發(fā)的,AMQP是一種開放式線路協(xié)議,具有強大的路由功能。雖然Java具有像JMS這樣的消息傳遞標(biāo)準(zhǔn),但它對于需要分布式消息傳遞的非Java應(yīng)用程序沒有幫助,因為它嚴(yán)重限制了任何集成場景,微服務(wù)或單片機。隨著AMQP的出現(xiàn),跨語言的靈活性成為開源消息代理的真實存在。
RabbitMQ被設(shè)計為通用消息代理,采用點對點,請求/回復(fù)和pub-sub通信樣式模式的多種變體。它使用智能代理/啞消費者模型,專注于向消費者提供一致的消息傳遞,消費者的消費速度與經(jīng)紀(jì)人跟蹤消費者狀態(tài)的速度大致相似。它是成熟的,在正確配置時表現(xiàn)良好,得到很好的支持(客戶端庫Java,.NET,node.js,Ruby,PHP和更多語言),并且有許多可用的插件可以將它擴展到更多的用例和集成場景。

1.kafka,rabbitMQ的對比

RabbitMQ中的通信可以根據(jù)需要同步或異步。發(fā)布者向交換發(fā)送消息,消費者從隊列中檢索消息。通過交換將生產(chǎn)者與隊列分離可確保生產(chǎn)者不會受到硬編碼路由決策的影響。RabbitMQ還提供了許多分布式部署方案(并且確實要求所有節(jié)點都能夠解析主機名)??梢詫⒍喙?jié)點群集設(shè)置為群集聯(lián)合,并且不依賴于外部服務(wù)(但某些群集形成插件可以使用AWS API,DNS,Consul等)。
Apache Kafka專為高容量發(fā)布 - 訂閱消息和流而設(shè)計,旨在持久,快速和可擴展。從本質(zhì)上講,Kafka提供了一個持久的消息存儲,類似于日志,在服務(wù)器集群中運行,它存儲稱為主題的類別中的記錄流。

2.rabbitMQ的安裝與使用

2.1在基于RPM的Linux上安裝(RHEL,CentOS,F(xiàn)edora,openSUSE),RabbitMQ RPM包需要sudo權(quán)限(或使用root用戶)才能安裝和管理。

####1.安裝Erlang

[root@slave1 ~]# yum install erlang
[root@slave1 ~]# yum update erlang

####2.安裝RabbitMQ服務(wù)器
 ##下載rabbitMQ rpm安裝包
[root@slave1 ~]# wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.8/rabbitmq-server-3.7.8-1.el6.noarch.rpm
[root@slave1 ~]# yum install rabbitmq-server-3.7.8-1.el6.noarch.rpm
 ## 開機啟動rabbitmq-server
[root@slave1 ~]# chkconfig rabbitmq-server on
 #啟動rabbitMQ服務(wù)
[root@slave1 ~]# service rabbitmq-server start
 #停止rabbitMQ服務(wù)
[root@slave1 ~]# service rabbitmq-server stop
 #重啟rabbitMQ服務(wù)
[root@slave1 ~]# service rabbitmq-server restart
 #修改配置文件
[root@slave1 ~]#  cd /etc/rabbitmq/
[root@slave1 rabbitmq]#  cp /usr/share/doc/rabbitmq-server-3.7.8/rabbitmq.config.example ./
[root@slave1 rabbitmq]#  mv rabbitmq.config.example rabbitmq.config
[root@slave1 rabbitmq]#  vim rabbitmq.config
[
{rabbit, [{tcp_listeners, [5672]}, {loopback_users, ["test"]}]}
].

 #開啟Web管理插件,這樣我們就可以通過瀏覽器來進(jìn)行管理了
[root@slave1 ~]#  rabbitmq-plugins enable rabbitmq_management
[root@slave1 ~]#  service rabbitmq-server restart
[root@slave1 ~]#  vim /etc/rabbitmq/rabbitmq.config
[root@slave1 ~]#  service rabbitmq-server restart
 ##增加rabbitmq ui的登錄用戶
[root@slave1 ~]#  rabbitmqctl add_user test 123456
[root@slave1 ~]#  rabbitmqctl  set_user_tags  test  administrator
[root@slave1 ~]#  rabbitmqctl set_permissions -p "/" test ".*" ".*" ".*"
[root@slave1 ~]#  rabbitmqctl list_users
Listing users
test    [administrator]
guest   [administrator]

2.2 在macOS中安裝rabbitMQ

#使用homebrew安裝rabbitMQ,若安裝過homebrew可以忽略下面第一句命令
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

$ brew update
$ brew install rabbitmq
#啟動命令
$ brew services start rabbitmq
#重啟命令
$ brew services restart rabbitmq
#停止命令
$ brew services stop rabbitmq

使用瀏覽器訪問ip:15672(rabbitMQ的UI界面),可使用上面設(shè)置的test用戶密碼進(jìn)行登錄

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容