thinkPHP5でrabbitmqを使用する方法
thinkPHP5 Rabbitmq の使い方
tp5 の Rabbitmq 拡張機能をインストールした後、ファイル Rabbitmq.php をプロジェクトのルート ディレクトリ ファイルに追加して、rabbitmq を起動します。
<?php define('APP_PATH', __DIR__ . '/application/'); define('BIND_MODULE','rabbitmq/Client'); // 加载框架引导文件 require __DIR__ . '/thinkphp/start.php';
Generator
private function queueEvent($message) { // error_log("\n******" . date("His") . "********\n" . print_r($message, 1) . "\n*************\n", 3, 'messag_event.log'); dump($message); //设置你的连接 $conn_args = array('host' => 'ip', 'port' => '5672', 'login' => 'ymq', 'password' => '123456', 'vhost'=>'/'); $content = $message; //创建连接和channel $conn = new \AMQPConnection($conn_args); if (!$conn->connect()) { die("Cannot connect to the broker!\n"); } $channel = new \AMQPChannel($conn); //创建交换机 $e_name = 'MQTT_device_event'; //交换机名 $ex = new \AMQPExchange($channel); $ex->setName($e_name); // $ex->setType(AMQP_EX_TYPE_TOPIC); //direct类型 $ex->setType(AMQP_EX_TYPE_DIRECT); //direct类型 $ex->setFlags(AMQP_DURABLE); //持久化 $ex->declareExchange(); }
関連する推奨事項:「ThinkPHP チュートリアル」
php ディレクトリを実行、プロデューサーを実行
Consumer
public function index() { //连接RabbitMQ $conn_args = array('host' => 'ip', 'port' => '5672', 'login' => 'ymq', 'password' => '123456', 'vhost' => '/'); $e_name = 'MQTT_device_event'; //交换机名 $q_name = 'q_event'; //队列名 $k_route = 'key_event'; //路由key //创建连接和channel $conn = new \AMQPConnection($conn_args); if (!$conn->connect()) { die("Cannot connect to the broker!\n"); } $channel = new \AMQPChannel($conn); //创建交换机 $ex = new \AMQPExchange($channel); $ex->setName($e_name); $ex->setType(AMQP_EX_TYPE_DIRECT); //direct类型 $ex->setFlags(AMQP_DURABLE); //持久化 $ex->declareExchange(); //创建队列 $q = new \AMQPQueue($channel); $q->setName($q_name); $q->setFlags(AMQP_DURABLE); //持久化 $q->declareQueue(); //最好队列object在这里declare()下,否则如果是新的queue会报错 //绑定交换机与队列,并指定路由键,可以多个路由键 $q->bind($e_name, $k_route); //$q->bind($e_name, 'key_33'); //阻塞模式接收消息 echo "Message:\n"; while(True){ $q->consume(function($envelope, $queue) { $msg = $envelope->getBody(); //处理数据 echo $msg . PHP_EOL; //处理消息 $queue->ack($envelope->getDeliveryTag()); //手动发送ACK应答 }); //$q->consume('processMessage', AMQP_AUTOACK); //自动ACK应答 } $conn->disconnect(); }
コマンド php Rabbitmq を実行します
開始
キューが消費されているかどうかを確認します
http://127.0.0.115672/# / にログインします。キュー アドレス
以上がthinkPHP5でrabbitmqを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









React と RabbitMQ を使用して信頼性の高いメッセージング アプリケーションを構築する方法 はじめに: 最新のアプリケーションは、リアルタイム更新やデータ同期などの機能を実現するために、信頼性の高いメッセージングをサポートする必要があります。 React はユーザー インターフェイスを構築するための人気のある JavaScript ライブラリであり、RabbitMQ は信頼性の高いメッセージング ミドルウェアです。この記事では、React と RabbitMQ を組み合わせて信頼性の高いメッセージング アプリケーションを構築する方法を紹介し、具体的なコード例を示します。 RabbitMQ の概要:

RabbitMQ を使用して PHP で分散メッセージ処理を実装する方法 はじめに: 大規模なアプリケーション開発では、分散システムが一般的な要件になっています。分散メッセージ処理は、タスクを複数の処理ノードに分散することでシステムの効率と信頼性を向上させるパターンです。 RabbitMQ は、AMQP プロトコルを使用してメッセージの配信と処理を実装する、オープンソースの信頼性の高いメッセージ キュー システムです。この記事では、配布のために PHP で RabbitMQ を使用する方法について説明します。

メッセージが失われないようにする方法: RabbitMQ メッセージ配信パスのプロデューサー、スイッチ、キュー、コンシューマーは、通常 3 つの段階に分かれています。 1. プロデューサは、メッセージ配信の信頼性を保証します。 2.MQ 内部メッセージは失われません。 3. 消費者消費が成功している。メッセージ配信の信頼性とは何ですか? 簡単に言えば、メッセージが 100% メッセージ キューに送信されることを意味します。 confirmCallback をオンにできます。プロデューサーがメッセージを配信した後、mq はプロデューサーに ack を返します。ack に基づいて、プロデューサーはメッセージが mq に送信されたかどうかを確認できます。confirmCallback をオンにして、設定ファイル #NONE: disable を変更しますリリース確認モード (デフォルト値)、相関:

最新のアプリケーションが複雑になるにつれて、メッセージングは強力なツールになっています。この分野では、RabbitMQ は、異なるアプリケーション間でメッセージを配信するために使用できるメッセージ ブローカーとして非常に人気があります。この記事では、Go 言語で RabbitMQ を使用する方法を説明します。このガイドでは以下の内容について説明します: RabbitMQ の概要 RabbitMQ のインストール RabbitMQ の基本概念 Go で RabbitMQ を使用する入門 RabbitMQ と Go

Golang と RabbitMQ 間のリアルタイム データ同期ソリューションの紹介: 今日の時代では、インターネットの普及とデータ量の爆発的な増加に伴い、リアルタイム データ同期の重要性がますます高まっています。非同期データ送信とデータ同期の問題を解決するために、多くの企業はメッセージ キューを使用してデータのリアルタイム同期を実現し始めています。この記事では、Golang と RabbitMQ に基づくリアルタイム データ同期ソリューションを紹介し、具体的なコード例を示します。 1. RabbitMQ とは何ですか?ラビ

現在、マイクロサービス アーキテクチャ モデルを採用する企業が増えており、このアーキテクチャではメッセージ キューが重要な通信手段となっており、その中でも RabbitMQ が広く使用されています。 Go 言語では、go-zero は近年登場したフレームワークであり、開発者がメッセージ キューをより簡単に使用できるようにするための実用的なツールやメソッドが数多く提供されています。以下では、実際のアプリケーションに基づいて go-zero を紹介します。とRabbitMQの応用実践。 1.RabbitMQ の概要Rabbit

GolangRabbitMQ: 高可用性メッセージ キュー システムのアーキテクチャ設計と実装には、特定のコード サンプルが必要です はじめに: インターネット技術の継続的な開発とその広範な応用により、メッセージ キューは現代のソフトウェア システムに不可欠な部分になりました。メッセージ キューは、デカップリング、非同期通信、フォールト トレラント処理、その他の機能を実装するツールとして、分散システムに高可用性とスケーラビリティのサポートを提供します。 Golang は効率的で簡潔なプログラミング言語として、同時実行性とパフォーマンスの高いシステムを構築するために広く使用されています。

インターネット時代の到来により、メッセージ キュー システムはますます重要になってきました。これにより、異なるアプリケーション間の非同期操作が可能になり、結合が減少し、スケーラビリティが向上するため、システム全体のパフォーマンスとユーザー エクスペリエンスが向上します。メッセージ キュー システムでは、RabbitMQ は強力なオープン ソース メッセージ キュー ソフトウェアであり、さまざまなメッセージ プロトコルをサポートし、金融取引、電子商取引、オンライン ゲームなどの分野で広く使用されています。実際のアプリケーションでは、多くの場合、RabbitMQ を他のシステムと統合する必要があります。この記事ではswの使い方を紹介します。
