欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

RabbitMQ簡單安裝

RabbitMQ 是Advanced Message Queuing Protocol (AMQP) 的開源實現(xiàn),由以高性能、健壯以及可伸縮性出名的 Erlang 寫成,因此也是繼承了這些優(yōu)點。AMQP的主要特征是面向消息、隊列、路由(包括點對點和發(fā)布/訂閱)、可靠性、安全。RabbitMQ支持多種客戶端有:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系統(tǒng)中存儲轉(zhuǎn)發(fā)消息,在易用性、擴展性、高可用性等方面表現(xiàn)不俗。RabbitMQ解決了應(yīng)用程序之間的互聯(lián)(connect)和規(guī)模(scale)的問題,消息發(fā)送和接收是隔離,發(fā)送方不知道消息最終由誰接收,接收方也不必關(guān)心消息是誰步發(fā)出的;發(fā)送和接收是隔離的,消息本質(zhì)上就是異步的.這種隔離也就解耦了應(yīng)用程序之間的依賴。RabbitMQ的角色就是應(yīng)用程序中間的路由器。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),金口河企業(yè)網(wǎng)站建設(shè),金口河品牌網(wǎng)站建設(shè),網(wǎng)站定制,金口河網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,金口河網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

幾個概念說明:
Broker:簡單來說就是消息隊列服務(wù)器實體。
Exchange:消息交換機,它指定消息按什么規(guī)則,路由到哪個隊列。
Queue:消息隊列載體,每個消息都會被投入到一個或多個隊列。
Binding:綁定,它的作用就是把exchange和queue按照路由規(guī)則綁定起來。
Routing Key:路由關(guān)鍵字,exchange根據(jù)這個關(guān)鍵字進行消息投遞。
vhost:虛擬主機,一個broker里可以開設(shè)多個vhost,用作不同用戶的權(quán)限分離。
producer:消息生產(chǎn)者,就是投遞消息的程序。
consumer:消息消費者,就是接受消息的程序。
channel:消息通道,在客戶端的每個連接里,可建立多個channel,每個channel代表一個會話任務(wù)。

消息隊列的使用過程大概如下:
(1)客戶端連接到消息隊列服務(wù)器,打開一個channel。
(2)客戶端聲明一個exchange,并設(shè)置相關(guān)屬性。
(3)客戶端聲明一個queue,并設(shè)置相關(guān)屬性。
(4)客戶端使用routing key,在exchange和queue之間建立好綁定關(guān)系。
(5)客戶端投遞消息到exchange。
exchange接收到消息后,就根據(jù)消息的key和已經(jīng)設(shè)置的binding,進行消息路由,將消息投遞到一個或多個隊列里。

exchange也有幾個類型,完全根據(jù)key進行投遞的叫做Direct交換機,例如,綁定時設(shè)置了routing key為”abc”,那么客戶端提交的消息,只有設(shè)置了key為”abc”的才會投遞到隊列。對key進行模式匹配后進行投遞的叫做Topic交換機,符號”#”匹配一個或多個詞,符號”*”匹配正好一個詞。例如”abc.#”匹配”abc.def.ghi”,”abc.*”只匹配”abc.def”。還有一種不需要key的,叫做Fanout交換機,它采取廣播模式,一個消息進來時,投遞到與該交換機綁定的所有隊列。

RabbitMQ支持消息的持久化,也就是數(shù)據(jù)寫在磁盤上,為了數(shù)據(jù)安全考慮,我想大多數(shù)用戶都會選擇持久化。消息隊列持久化包括3個部分:
(1)exchange持久化,在聲明時指定durable => 1
(2)queue持久化,在聲明時指定durable => 1
(3)消息持久化,在投遞時指定delivery_mode => 2(1是非持久化)
如果exchange和queue都是持久化的,那么它們之間的binding也是持久化的。如果exchange和queue兩者之間有一個持久化,一個非持久化,就不允許建立綁定。

由于RabbitMQ是用erlang開發(fā)的,RabbitMQ 完全依賴 Erlang 的 Cluster,而Erlang集群非常方便,因此配置RabbitMQ集群變得非常簡單。

1,Centos6.5上安裝最新版本

wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc

[erlang-solutions]
name=Centos $releasever - $basearch - Erlang Solutions
baseurl=https://packages.erlang-solutions.com/rpm/centos/$releasever/$basearch
gpgcheck=1
gpgkey=https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
enabled=1

將以上內(nèi)容保存為erlang.repo放在/etc/yum.repos.d/

yum install -y erlang

curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | bash

yum install -y rabbitmq-server

設(shè)置配置文件
一般情況下,RabbitMQ的默認配置就足夠了。如果希望特殊設(shè)置的話,有兩個途徑:
一個是環(huán)境變量的配置文件 rabbitmq-env.conf ;
一個是配置信息的配置文件 rabbitmq.config;
注意,這兩個文件默認是沒有的,如果需要必須自己創(chuàng)建。

cd /etc/rabbitmq
cp /usr/share/doc/rabbitmq-server-3.6.9/rabbitmq.config.example /etc/rabbitmq/
mv rabbitmq.config.example rabbitmq.config

rabbitmq-env.conf
這個文件的位置是確定和不能改變的,位于:/etc/rabbitmq目錄下(這個目錄需要自己創(chuàng)建)。
文件的內(nèi)容包括了RabbitMQ的一些環(huán)境變量,常用的有:
#RABBITMQ_NODE_PORT= //端口號
#HOSTNAME=
RABBITMQ_NODENAME=mq
RABBITMQ_CONFIG_FILE= //配置文件的路徑
RABBITMQ_MNESIA_BASE=/rabbitmq/data //需要使用的MNESIA數(shù)據(jù)庫的路徑
RABBITMQ_LOG_BASE=/rabbitmq/log //log的路徑
RABBITMQ_PLUGINS_DIR=/rabbitmq/plugins //插件的路徑

2,啟動、停止
service rabbitmq-server start
service rabbitmq-server stop
service rabbitmq-server restart
設(shè)置開機啟動
chkconfig rabbitmq-server on

3,開啟web界面管理工具
rabbitmq-plugins enable rabbitmq_management
service rabbitmq-server restart
防火墻開放15672端口
/sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
/etc/rc.d/init.d/iptables save

打開瀏覽器登錄:http://127.0.0.1:15672

添加遠程訪問用戶命令
添加用戶:rabbitmqctl add_user admin password
添加權(quán)限:rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
修改用戶角色rabbitmqctl set_user_tags admin administrator

rabbitmqctl status 查看狀態(tài)信息
rabbitmqctl list_queues 查看隊列

rabbitmq常用命令
新建用戶:rabbitmqctl add_user <UserName> <Password>
刪除用戶:rabbitmqctl delete_user <UserName>
改密碼:rabbimqctlchange_password {username} {newpassword}
給admin賦予管理員administrator角色:rabbitmqctl set_user_tags admin administrator
查看用戶列表:rabbitmqctl list_users
創(chuàng)建vhost:rabbitmqctl add_vhost /myhost
刪除vhost:rabbitmqctl delete_vhost <VHostPath>
查看vhost:rabbitmqctl list_vhosts
list_vhostsset_permissions [-p <VHostPath>] <UserName> <Regexp> <Regexp> <Regexp>
clear_permissions [-p <VHostPath>] <UserName>
list_permissions [-p <VHostPath>]
list_user_permissions <UserName>
list_queues [-p <VHostPath>] [<QueueInfoItem> ...]
list_exchanges [-p <VHostPath>] [<ExchangeInfoItem> ...]
list_bindings [-p <VHostPath>]
list_connections [<ConnectionInfoItem> ...]

PHP7.0的amqp擴展(讓PHP和MQ交互)
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum --enablerepo=remi-php70 install php-pecl-amqp

php -m即可查看擴展

網(wǎng)站名稱:RabbitMQ簡單安裝
文章起源:http://chinadenli.net/article38/cjispp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google外貿(mào)網(wǎng)站建設(shè)營銷型網(wǎng)站建設(shè)商城網(wǎng)站服務(wù)器托管手機網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司