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. 背景同社のプロジェクトは、これまでは手動で Maven でパッケージ化し、サーバーにアップロ...
mysql データベースには student テーブルがあり、その構造は次のとおりです。 Oracl...
サブクエリの分類返された結果セットによる分類サブクエリは、返される結果セットの違いに応じて、テーブル...
el-dialogをコンポーネントとしてカプセル化するelement-ui を使用する場合、ポップア...
コンポーネントに背景画像コントロールを追加するには、次の 2 つの手順だけが必要です。 <表示...
目次導入リンク始めるコードを読み進めてくださいプロキシ設定傍受を要求する異なるプレフィックスを持つイ...
この場合、transition という単語を間違って書いたため、午後中ずっとそれに取り組みました。本...
参考までに、シンプルなナンバープレート入力コンポーネント(vue)です。具体的な内容は次のとおりです...
序文この記事では主に、CSS3 を使用してテキスト折り紙効果を実現する例を紹介します。これは、参考と...
目次スロークエリログとは何ですか?スロークエリを有効にする方法ログ分析ツール mysqldumpsh...
日常業務では、実行に時間のかかる SQL ステートメントを記録するために、スロー クエリを実行するこ...
目次クッキーの設定方法クッキーのデメリット: LocalStorage と SessionStora...
123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...
1. はじめにデータベース内のデータ量が一定レベルに達すると、システムパフォーマンスのボトルネックを...
<br />一部のWebサイトでアップロードする場合、「参照」ボタンをクリックすると[フ...