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. Vue - 最初の vue-cli プログラムVueの開発はNodeJSに基づいています。実際...
これでtransformコースは終了です。例を見てみましょう。transform transform...
以下のように表示されます。 bb_sbからa1、a2、a1+a2 a、a1*a2 b、a1*1.0/...
まず、GIF 操作を見てみましょう。ケース1: スペースがフィルタリングされるスペースの代わりに角括...
重複したフォーム送信は、マルチユーザー Web アプリケーションで最も一般的で厄介な問題です。重複送...
シーンについて話すメールを送信サードパーティのウェブサイトにHTMLを埋め込む他の編集者の記事をコピ...
個々のウェブマスターにとって、自分のウェブサイトをいかにユニークで個性あふれるものにするかは、常に絶...
現在のトランザクションはどの履歴バージョンを読み取ることができますか?読み取りビューは、トランザクシ...
この記事の例では、タブ効果を実現するためのjsプラグインの具体的なコードを参考までに共有しています。...
int(1) の長さ 1 は、許可されたストレージ幅を表していないことはすでにご存知かもしれません...
nginx トラフィック制御レート制限は非常に便利ですが、Nginx では誤解され、誤って設定される...
Tomcatはプロジェクトにアクセスします。通常はIP + ポート + プロジェクト名です。 Ngi...
1. 角を丸くする今日の Web デザインは、常に最新の開発テクノロジーに追随しており、HTML5 ...
前回の記事では、MySQL 最適化の概要 - クエリの合計数を紹介しました。この記事では、クエリ ス...
MySQL のデータはディスクに書き込む必要があることは誰もが知っています。ディスクの読み取りと書き...