国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

app對接網(wǎng)站登錄要怎么做優(yōu)化營商環(huán)境心得體會2023

app對接網(wǎng)站登錄要怎么做,優(yōu)化營商環(huán)境心得體會2023,深圳做網(wǎng)站的人,什么公司做網(wǎng)站會提供源代碼引言 RabbitMQ是一個流行的開源消息代理,用于在分布式系統(tǒng)中實現(xiàn)異步消息傳遞。它基于Erlang語言編寫,具有高可用性和可伸縮性。在本文中,我們將探討如何在Python中使用RabbitMQ進行消息發(fā)送和消費。 安裝RabbitMQ 在 Ubuntu 上安裝 Rabbi…

引言

RabbitMQ是一個流行的開源消息代理,用于在分布式系統(tǒng)中實現(xiàn)異步消息傳遞。它基于Erlang語言編寫,具有高可用性和可伸縮性。在本文中,我們將探討如何在Python中使用RabbitMQ進行消息發(fā)送和消費。

安裝RabbitMQ

在 Ubuntu 上安裝 RabbitMQ 可以通過多種方式完成,包括使用包管理器、Docker 容器或從源代碼編譯。以下是最簡單和最常見的方法,使用包管理器進行安裝。

安裝 Erlang:
添加 PPA 之后,可以安裝 Erlang。

sudo apt install erlang

安裝 RabbitMQ:
在 Erlang 安裝完成后,可以安裝 RabbitMQ。

sudo apt install rabbitmq-server

啟動 RabbitMQ:
安裝完成后,可以啟動 RabbitMQ 服務(wù)。

sudo systemctl start rabbitmq-server

設(shè)置 RabbitMQ 用戶:
為了安全起見,應(yīng)該創(chuàng)建一個 RabbitMQ 用戶。

sudo rabbitmqctl add_user your_username your_password
sudo rabbitmqctl set_permissions -p / your_username ".*" ".*" ".*"
sudo rabbitmqctl set_user_tags your_username administrator
sudo rabbitmqctl set_permissions -p / your_username ".*" ".*" ".*"

在這里,your_username 是想要創(chuàng)建的用戶名,your_password 是該用戶的密碼。

檢查 RabbitMQ 狀態(tài):
使用以下命令檢查 RabbitMQ 服務(wù)狀態(tài)。

sudo systemctl status rabbitmq-server

配置 RabbitMQ 防火墻:
根據(jù)您的網(wǎng)絡(luò)配置,可能需要配置防火墻規(guī)則以允許外部客戶端訪問 RabbitMQ。

sudo ufw allow from any to any port 5672 proto tcp
sudo ufw allow from any to any port 15672 proto tcp

停止 RabbitMQ:
如果想要停止 RabbitMQ 服務(wù),可以使用以下命令。

sudo systemctl stop rabbitmq-server

查看 RabbitMQ 版本:
使用以下命令查看已安裝的 RabbitMQ 版本。

sudo rabbitmq-server -v

image.png

安裝完成后,可以通過訪問 http://localhost:15672 來訪問 RabbitMQ 管理界面。如果已經(jīng)設(shè)置了用戶,將需要使用創(chuàng)建的用戶名和密碼登錄。請注意,RabbitMQ 服務(wù)器配置和安全性是復(fù)雜的主題,上述步驟提供了基本的安裝和配置指南。根據(jù)具體需求,可能需要進行更詳細的配置。

安裝pika

pika 是一個用于 RabbitMQ 的 Python 客戶端庫,它允許創(chuàng)建和控制 RabbitMQ 隊列、交換器、綁定和消息。安裝也非常簡單,安裝完成后,就可以在 Python 代碼中導(dǎo)入 pika 庫并使用它來與 RabbitMQ 交互。

pip install pika

發(fā)送消息

首先,來看一下如何發(fā)送消息到RabbitMQ隊列。以下代碼片段展示了如何連接到RabbitMQ服務(wù)器,聲明一個隊列,并發(fā)布一個消息到該隊列。

#!/usr/bin/env python
import pikaparams = pika.ConnectionParameters(host='localhost', heartbeat=3600, blocked_connection_timeout=300)
connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
channel.basic_publish(exchange='', routing_key='hello', body='Hello World!')
print(" [x] Sent 'Hello World!'")
connection.close()
  1. 創(chuàng)建一個ConnectionParameters實例,定義了與RabbitMQ服務(wù)器建立連接所需的參數(shù):
    • host='localhost':指定RabbitMQ服務(wù)器的主機名,這里是本地主機。
    • heartbeat=3600:心跳間隔,單位為秒,用于保持連接的活躍性。
    • blocked_connection_timeout=300:如果連接被阻塞,這個參數(shù)定義了連接超時的時間,單位為秒。
  2. connection = pika.BlockingConnection(...):使用pika.BlockingConnection創(chuàng)建一個到RabbitMQ的阻塞連接。這意味著連接操作會等待直到成功建立連接。
  3. channel = connection.channel():創(chuàng)建一個新的通信信道。在RabbitMQ中,信道是進行消息傳遞的通道。
  4. channel.queue_declare(queue='hello'):聲明一個名為hello的隊列。如果該隊列不存在,RabbitMQ會創(chuàng)建它。
  5. channel.basic_publish(exchange='', routing_key='hello', body='Hello World!'):發(fā)布(發(fā)送)一條消息到隊列。參數(shù)說明:
    • exchange:交換機名稱,這里為空字符串,表示使用默認的交換機。
    • routing_key:路由鍵,這里與隊列名相同,表示消息將直接發(fā)送到hello隊列。
    • body:消息體,這里是字符串'Hello World!'。

image.png

消費消息

接下來,看一下如何從RabbitMQ隊列中消費消息。以下代碼片段展示了如何連接到RabbitMQ服務(wù)器,聲明一個隊列,并使用回調(diào)函數(shù)來處理收到的消息。

#!/usr/bin/env python
import pika, sys, osdef main():connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))channel = connection.channel()channel.queue_declare(queue='hello')def callback(ch, method, properties, body):print(" [x] Received %r" % body)channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True)print(' [*] Waiting for messages. To exit press CTRL+C')channel.start_consuming()if __name__ == '__main__':try:main()except KeyboardInterrupt:print('Interrupted')try:sys.exit(0)except SystemExit:os._exit(0)
  1. 定義一個名為callback的函數(shù),它將作為消費消息時的回調(diào)函數(shù)。當(dāng)消息到達時,這個函數(shù)會被調(diào)用,并打印出消息體。
  2. channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True):開始消費hello隊列中的消息。on_message_callback參數(shù)指定了當(dāng)消息到達時調(diào)用的回調(diào)函數(shù),auto_ack=True表示自動確認消息。

image.png

結(jié)論

本文介紹了如何在 Python 中使用 RabbitMQ 進行消息發(fā)送和消費。RabbitMQ 是異步消息傳遞的強有力工具,適用于構(gòu)建可靠、可伸縮的分布式系統(tǒng)。隨著微服務(wù)架構(gòu)的流行,RabbitMQ 在現(xiàn)代軟件開發(fā)中的作用越來越重要。

http://m.aloenet.com.cn/news/43967.html

相關(guān)文章:

  • 拔別人的網(wǎng)站做網(wǎng)站合法嗎百度搜索引擎關(guān)鍵詞
  • 徐州網(wǎng)站開發(fā)培訓(xùn)網(wǎng)站關(guān)鍵詞上首頁
  • 如何將自己做的網(wǎng)站國內(nèi)新聞今日頭條
  • wordpress會員系統(tǒng)seo收費標(biāo)準(zhǔn)
  • 深圳住房和城鄉(xiāng)建設(shè)局網(wǎng)站首頁亞馬遜免費的關(guān)鍵詞工具
  • 網(wǎng)站建設(shè)規(guī)劃書有哪些內(nèi)容紹興seo排名收費
  • 江蘇新有建設(shè)集團有限公司官方網(wǎng)站中國站長網(wǎng)站
  • 溫州專業(yè)手機網(wǎng)站制作哪家便宜搜索引擎推廣是什么意思
  • 網(wǎng)站用Access做數(shù)據(jù)庫鏈接提取視頻的網(wǎng)站
  • wordpress 導(dǎo)入工具插件下載全國推廣優(yōu)化網(wǎng)站
  • 怎么做網(wǎng)站的內(nèi)鏈高質(zhì)量內(nèi)容的重要性
  • 用js做自適應(yīng)網(wǎng)站nba最新交易匯總實時更新
  • asp做的網(wǎng)站今日新聞國際最新消息
  • 墻繪做網(wǎng)站靠譜不中國有幾個搜索引擎
  • 專門做墓志銘的網(wǎng)站百度sem競價推廣電子書
  • wordpress備份和恢復(fù)seo公司賺錢嗎
  • 公共建設(shè)工程中心網(wǎng)站seo手機端排名軟件
  • 家政網(wǎng)站制作近期出現(xiàn)的病毒叫什么
  • 做視頻剪輯接私活的網(wǎng)站軟文擬發(fā)布的平臺與板塊
  • 網(wǎng)站建設(shè)入固定資產(chǎn)競彩足球最新比賽
  • b2b電子商務(wù)網(wǎng)站怎么做鄭州聚商網(wǎng)絡(luò)科技有限公司
  • 科技 響應(yīng)式網(wǎng)站模板怎么搞自己的網(wǎng)站
  • 渭南市工程建設(shè)項目審批平臺免費的關(guān)鍵詞優(yōu)化軟件
  • 奧鵬網(wǎng)頁設(shè)計與網(wǎng)站建設(shè)公司推廣渠道
  • 建設(shè)電子票務(wù)系統(tǒng)的網(wǎng)站需要多少錢百度seo多久能優(yōu)化關(guān)鍵詞
  • 怎么用ps做靜態(tài)網(wǎng)站管理培訓(xùn)
  • 煙臺網(wǎng)站建設(shè)-中國互聯(lián)看seo
  • 網(wǎng)絡(luò)企業(yè)做網(wǎng)站免費seo刷排名
  • 可信網(wǎng)站是否必須做網(wǎng)站自動推廣軟件免費
  • 計算機網(wǎng)站開發(fā)職業(yè)定位app開發(fā)制作