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 (サンプルコード)
1. 絶対配置レイヤーの隣接フローティング レイヤーの幅が親レイヤーの幅と等しくなく、フロートがクリ...
この記事は主に、nginx 高可用性クラスタの実装プロセスを紹介します。この記事のサンプルコードは非...
クローラー対策ポリシー ファイルを追加しました: vim /usr/www/server/nginx...
目次1. いくつか2. すべての3. 見つける1. いくつかsome()メソッドは、指定された関数の...
この記事は共有および集約することを歓迎します。全文を転載する必要はありません。著作権を尊重してくださ...
目次必要:発生した問題:解決する:必要:要素テーブル内の複数の列を並べ替えるには、日付の並べ替えをク...
この記事では、例を使用して、MySQL ストアド プロシージャにおけるカーソル (DECLARE) ...
まずは、以前書いた CSS カルーセルアニメーション効果を見てみましょう。アニメーションの遷移をスム...
<fieldset>と<legend>については、ほとんどの人はおそらく馴染...
前回の記事では、webpack と react 環境を設定した後、ログイン インターフェースとその後...
使用環境cmd モードで、mysql --version と入力します (インストールされている M...
順序なしリストのアプリケーションネストコードをコピーコードは次のとおりです。 <!DOCTYP...
元のコードは次のとおりです。 <div class='コントロールグループ'&...
この記事では、Reactでダブルスライダークロススライドを実装するための具体的なコードを参考までに共...
1. まず、gitを関連付けるときにエラーメッセージが報告されます: エラー: ビルドするリビジョン...