RabbitMQ(1),rabbitmq
看了一下RabbitMQ的介紹,主要是一個message queue,即訊息佇列,一段往訊息佇列中不斷寫入資訊,而另一端則可以讀取資訊。主要是用來處理訊息的,目前主要是安裝了Linux版的RabbitMQ:
1:安裝erlang
apt-get install erlang-nox
2下載安裝RabbitMQ安裝包
我直接在它的官網上下載的最新版的安裝包安裝的rabbitmq-server_3.3.4-1_all.deb
3:啟動
/etc/init.d/rabbitmq-server start
4建立一個建立一個vhost
rabbitmqctl add_vhost /pyhtest
第一次建立的時候不知道為什麼總是建立不了,後來重新敲了一遍又好了
5然後再給這個vhost建立一個使用者
rabbitmqctl add_user pyh pyh1234
使用者名稱pyh 密碼pyh1234
6建立許可權
rabbitmqctl set_permissions -p /pyhtest pyh “.*” “.*” “.*”
*代表全部許可權
後來寫了一個send和receive,現在還沒有弄好這個發送和消費的過程,再弄......
官網上有詳細的範例的介紹說明,比如Hello World!:
http://www.rabbitmq.com/tutorials/tutorial-one-python.html
怎在一台機器上配置多個RabbitMQ
Rabbitmq的設定檔有三個,位於/etc/rabbitmq/, 這三個檔案分別是: (1)enabled_plugins, 設定允許的外掛程式列表,該配置文檔的格式為erlang的列表格式如 [rabbitmq_management,rabbitmq_visualiser]. (2)rabbitmq.conf,設定rabbitmq的運行參數。該設定檔中的每個參數為一個erlang的 tuple,結構為{Key,Value}, Key為atom類型, Value為一個term。其中幾個關鍵參數為: tcp_listerners設定rabbimq的監聽連接埠,預設為[5672]。 disk_free_limit 磁碟低水位線,若磁碟容量低於指定值則停止接收資料,預設值為 {mem_relative, 1.0},即與記憶體相關聯1:1,也可定製為多少byte. vm_memory_high_watermark,設定記憶體低水位線,若低於該水位線,則開啟流控機制,預設值是0.4,即記憶體總量的40%。 hipe_compile 將部分rabbimq代碼用High Performance Erlang compiler編譯,可提升效能,該參數是實驗性,若出現erlang vm segfaults,應關掉。
rabbitmq 應用於什情境
rabbitmq
編輯
MQ全稱為Message Queue, 訊息佇列(MQ)是一種應用程式對應用程式的通訊方法。應用程式通過寫和檢索出入列隊的針對應用程式的資料(訊息)來通訊,而無需專用連線來連結它們。消 息傳遞指的是程式之間通過在訊息中發送資料進行通訊,而不是通過直接調用彼此來通訊,直接調用通常是用於諸如遠端程序呼叫的技術。排隊指的是應用程式通過 隊列來通訊。隊列的使用除去了接收和發送應用程式同時執行的要求。其中較為成熟的MQ產品有IBM WEBSPHERE MQ。
使使用情境
在項目中,將一些無需即時返回且耗時的操作提取出來,進行了非同步處理,而這種非同步處理的方式大大的節省了伺服器的請求回應時間,從而提高了系統的輸送量。