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 インデックス カバレッジについて例を挙げて説明します。ご参考までに、詳細は...
この記事では、VMware Toolsのインストールと構成に関するグラフィックチュートリアルを参考と...
この記事では、マーキーのシンプルな効果を実現するためのVueの具体的なコードを参考までに共有します。...
CSS でテキストアイコンを実装する方法 /*アイコンスタイル*/ .nav-icon-norma...
目次序文1. まず、既存のバージョンの MySQL を完全にアンインストールします。 2. deb ...
データベースでは、UNION キーワードと UNION ALL キーワードの両方が 2 つの結果セッ...
この記事では、参考までにMySQL 5.7.13 winx64のインストールと設定方法のグラフィック...
数字、文字、またはランダムな色の数字と文字の混合で構成される n 桁の確認コード。以下に完全なコード...
DTD はマークアップの文法規則のセットです。これは XML 1.0 仕様の一部であり、HTML フ...
JS で関数を定義する 3 つの方法例を挙げて説明しましょう。 <スクリプト> //メソ...
目次1. ユニットテストはなぜ必要なのでしょうか? 2. ユニットテストの書き方3. テストツール4...
Docker サービス アプリケーションを再起動するコマンドを見てみましょう。具体的な内容は次のと...
入力ボックスの値を取得する複数の方法最初の方法は、制御されていないコンポーネントの取得です2番目の方...
1. 準備ミドルウェア: Tomcat、Redis、Nginx Jar パッケージ: commons...