1. 画像を取得するdocker 検索 rocketmq 特定のバージョンを取得する curl https://registry.hub.docker.com/v1/repositories/foxiswho/rocketmq/tags | tr -d '[\[\]" ]' | tr '}' '\n' | awk -F: -v image='foxiswho/rocketmq' '{if(NR!=NF && $3 != ""){printf("%s:%s\n",image,$3)}}' 現在のイメージ シェル コマンドのすべてのバージョンを表示する カール https://registry.hub.docker.com/v1/repositories/foxiswho/rocketmq/tags\ | tr -d '[\[\]" ]' | tr '}' '\n'\ | awk -F: -v image='foxiswho/rocketmq' '{if(NR!=NF && $3 != ""){printf("%s:%s\n",image,$3)}}' 2. ブローカーサーバーを作成するdocker run -d -p 9876:9876 --name rmqserver foxiswho/rocketmq:server-4.5.1 3. ブローカーを作成するdocker run -d -p 10911:10911 -p 10909:10909\ --name rmqbroker --link rmqserver:namesrv\ -e "NAMESRV_ADDR=namesrv:9876" -e "JAVA_OPTS=-Duser.home=/opt"\ -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m"\ foxiswho/rocketmq:ブローカー-4.5.1 broker.conf を構成する rmqbrokerコンテナに入る docker exec -it rmqbroker /bin/bash /etc/rocketmq/ をコピーします vi ブローカー.conf 4. RocketMQコンソールを作成するdocker run -d --name rmqconsole -p 8180:8080 --link rmqserver:namesrv\ -e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876\ -Dcom.rocketmq.sendMessageWithVIPChannel=false"\ -t スタイルタン/ロケットMQコンソール 次に、次のコマンドで起動ステータスを確認します。 docker ps | grep rocketmq http://192.168.23.131:8180/ 5. テストホストマシンに rocketmq をインストールしたので、テストは次のようになります。 #テストメッセージ送信コマンド sh tools.sh org.apache.rocketmq.example.quickstart.Producer #テストメッセージ受信コマンド sh tools.sh org.apache.rocketmq.example.quickstart.Consumer 6. Javaサンプル<依存関係> <グループ ID>org.apache.rocketmq</グループ ID> <artifactId>rocketmq-client</artifactId> <バージョン>4.9.2</バージョン> </依存関係> メッセージ送信(プロデューサーが同期メッセージを送信) org.apache.rocketmq.client.producer.DefaultMQProducer をインポートします。 org.apache.rocketmq.client.producer.SendResult をインポートします。 org.apache.rocketmq.common.message.Message をインポートします。 org.apache.rocketmq.remoting.common.RemotingHelper をインポートします。 パブリッククラスSyncProducer { パブリック静的void main(String[] args)は例外をスローします{ // メッセージプロデューサーをインスタンス化する DefaultMQProducer プロデューサー = 新しい DefaultMQProducer("zhuzeqing-1"); // NameServer のアドレスを設定します。producer.setNamesrvAddr("192.168.23.131:9876"); // Producer インスタンスを開始します。producer.start(); (int i = 0; i < 1; i++) の場合 { // メッセージを作成し、トピック、タグ、メッセージ本文を指定します Message msg = new Message("zhuzeqing-1-Topic" /* Topic */, "TagA" /* タグ */, ("hello, rocketmq --" + i).getBytes(RemotingHelper.DEFAULT_CHARSET) /* メッセージ本文 */ ); // ブローカーにメッセージを送信する 送信結果 sendResult = producer.send(msg); // sendResult を使用して、メッセージが正常に配信されたかどうかを返します。System.out.printf("%s%n", sendResult); } // これ以上メッセージが送信されない場合は、Producer インスタンスを閉じます。 プロデューサー.シャットダウン(); } } 消費ニュース java.util.List をインポートします。 org.apache.rocketmq.client.consumer.DefaultMQPushConsumer をインポートします。 org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext をインポートします。 org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus をインポートします。 org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently をインポートします。 org.apache.rocketmq.client.exception.MQClientException をインポートします。 org.apache.rocketmq.common.message.MessageExt をインポートします。 パブリッククラス Consumer { パブリック静的void main(String[] args)はInterruptedException、MQClientExceptionをスローします{ // コンシューマーをインスタンス化します DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("zhuzeqing-1"); // ネームサーバーのアドレスを設定します consumer.setNamesrvAddr("192.168.23.131:9876"); // 1 つ以上のトピックとタグをサブスクライブして、消費する必要があるメッセージをフィルター処理します。consumer.subscribe("zhuzeqing-1-Topic", "*"); // ブローカーから返されたメッセージを処理するためのコールバック実装クラスを登録します。consumer.registerMessageListener(new MessageListenerConcurrently() { パブリックConsumeConcurrentlyStatus消費メッセージ(List<MessageExt>メッセージ、ConsumeConcurrentlyContextコンテキスト) { System.out.printf("%s 新しいメッセージを受信: %s %n", Thread.currentThread().getName(), msgs); // メッセージが正常に消費されたことをマークします。 return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; } }); // コンシューマーインスタンスを開始します。consumer.start(); System.out.printf("コンシューマーが開始しました。%n"); } } VII. その他rmqbroker IP を確認する docker で rmqbroker を検査する ブローカーコンテナ内のデフォルトの設定ファイルパスは ブローカー 公式サイト: Apache RocketMQ 参照:Docker での RocketMQ のインストールと使用_Feng Libin のブログ - CSDN ブログ_docker rocketmq これで、docker に RocketMQ をインストールする実装手順に関するこの記事は終了です。docker に RocketMQ をインストールする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: ウェブページの右下隅に「いいね!」カード効果を実現するための CSS (サンプルコード)
以前は、さまざまな理由により、一部のアラームは真剣に受け止められませんでした。最近、休暇中に、すぐに...
MySQLの起動失敗の解決策MySQLを起動できませんmysqlを停止した後、いくつかの操作(ホスト...
1. Dockerネットワークモードdocker run が Docker コンテナを作成するときに...
必要とする本文の下のdivは垂直方向に中央揃えになっていますdiv 内のテキストを垂直中央に配置する...
目次Vue2 ライティングVue3プラグインのバージョンの記述Vue3 動的コンポーネントの記述書き...
この記事では、主に Vue バックグラウンド管理システムのページング機能の実装を紹介し、次のように共...
目次1. ジョブ実行のフォールトトレランス1.1 タスクフェイルオーバー戦略1.2 ジョブ再開戦略2...
WordPress のマルチサイト機能を使用すると、1 つの WordPress プログラムをインス...
まずcharAt関数の基本的な構文を見てみましょう文字 = str.charAt(インデックス) c...
目次1. はじめに2. 使用方法3. 開発プロセス1. モデル例2. イベントとアニメーション4. ...
1. モバイル端末でクリックされたときにタグの青色を解除する { -webkit-tap-highl...
React プロジェクトで要素フレームワークを使用するのは今回が初めてです。非常に単純な問題に遭遇し...
先ほど使用したDocker HubはDockerによって提供されています。独自のDockerを構築す...
目次関数呼び出しの最適化関数呼び出しの最適化MySQL 関数は、内部的に決定論的または非決定論的とし...
プロジェクト内のページの長さはおよそ2000px以上あり、背景画像にはテクスチャやグラデーションがあ...