RabbitMQ 單實例部署
單實例部署是指在一臺服務器上運行一個 RabbitMQ 實例。這種部署方式適用于小型應用或開發環境,配置簡單,資源占用較少。單實例部署的核心是安裝 RabbitMQ 并啟動服務,通常需要配置 Erlang 環境,因為 RabbitMQ 是基于 Erlang 編寫的。單實例部署的優勢在于易于管理和維護,適合對高可用性和擴展性要求不高的場景。
RabbitMQ 單機多實例部署
單機多實例部署是指在一臺服務器上運行多個 RabbitMQ 實例。這種部署方式適用于需要隔離不同業務場景或測試環境的場景。每個實例可以獨立配置端口、數據存儲路徑和日志文件,避免資源沖突。單機多實例部署的關鍵在于為每個實例分配獨立的配置文件和資源路徑,同時確保實例之間的端口不沖突。這種部署方式可以提高資源利用率,但需要更復雜的管理和維護。
單實例與單機多實例的對比
單實例部署適合資源有限或對高可用性要求不高的場景,配置簡單,易于管理。單機多實例部署則適合需要隔離不同業務或測試環境的場景,能夠充分利用服務器資源,但管理復雜度較高。選擇哪種部署方式取決于具體的業務需求和技術環境。
二進制包下載及端口說明
https://www.rabbitmq.com/install-generic-unix.html
單實例部署參考
https://help.aliyun.com/document_detail/53100.html
服務啟動文件
[Unit]
Description=rabbitmq
After=network.target[Service]
Type=forking
User=root
Group=root
WorkingDirectory=/data/rabbitmq_server
ExecStart=/data/rabbitmq_server/sbin/rabbitmq-server -detached
ExecStop=/data/rabbitmq_server/sbin/rabbitmqctl stop
PrivateTmp=true
LimitNOFILE=65536
Restart=always[Install]
WantedBy=multi-user.target
配置環境變量
vim /data/rabbitmq_server-1/sbin/rabbitmq-server
...11 export PATH=$PATH:/data/erlang/bin
vim /data/rabbitmq_server-c/sbin/rabbitmq-env
...8 export PATH=$PATH:/data/erlang/bin
單機多實例部署
部署erlang
mq與erlang匹配的版本
https://www.rabbitmq.c