Java を使用して RocketMQ に基づく分散メッセージング ミドルウェア アプリケーションを開発する方法
はじめに:
インターネット業界の急速な発展に伴い、分散システムはますます一般的な。分散システムで一般的に使用されるコンポーネントの 1 つであるメッセージ ミドルウェアは、さまざまな分散コンポーネントを接続し、分離を実現し、データの一貫性を確保する上で重要な役割を果たします。この記事では、Java を使用して RocketMQ に基づく分散メッセージング ミドルウェア アプリケーションを開発する方法を紹介し、読者が分散メッセージングに RocketMQ を使用する方法を理解し習得できるようにすることを目的としています。
1. 準備
- RocketMQ をインストールし、NameServer と Broker を起動します
ダウンロード アドレス: http://rocketmq.apache.org/ - Maven プロジェクトを作成します
IDE で新しい Maven プロジェクトを作成し、次のように依存関係を追加します:
<dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.8.0</version> </dependency>
2. メッセージの送信
-
プロデューサーの作成
import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.common.message.Message; import org.apache.rocketmq.remoting.common.RemotingHelper; public class Producer { public static void main(String[] args) throws Exception { DefaultMQProducer producer = new DefaultMQProducer("producerGroup"); producer.setNamesrvAddr("localhost:9876"); producer.start(); Message message = new Message("TopicTest", "TagA", "Hello RocketMQ".getBytes(RemotingHelper.DEFAULT_CHARSET)); producer.send(message); System.out.println("发送消息成功"); producer.shutdown(); } }
Producer という名前のクラスを作成し、main メソッドで DefaultMQProducer インスタンスを作成し、NameServer アドレスを設定します。次に、Message インスタンスを作成し、送信する件名、ラベル、メッセージの内容を指定します。プロデューサー.send(message) メソッドを呼び出してメッセージを送信し、最後にプロデューサーを閉じます。
- プロデューサーを実行する
プロデューサー クラスのメイン メソッドを実行します。すべてが正しく構成されている場合は、コンソールに「メッセージは正常に送信されました」という出力が表示されます。
3. メッセージの受信
-
コンシューマーの作成
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; import org.apache.rocketmq.common.message.MessageExt; import java.util.List; public class Consumer { public static void main(String[] args) throws Exception { DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("consumerGroup"); consumer.setNamesrvAddr("localhost:9876"); consumer.subscribe("TopicTest", "*"); consumer.registerMessageListener(new MessageListenerConcurrently() { @Override public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> list, ConsumeConcurrentlyContext consumeConcurrentlyContext) { for (MessageExt messageExt : list) { System.out.println("接收到消息:" + new String(messageExt.getBody())); } return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; } }); consumer.start(); System.out.println("消费者启动"); } }
Consumer という名前のクラスを作成し、メイン メソッド インスタンスに DefaultMQPushConsumer を作成します。ネームサーバーのアドレスを設定します。次に、consumer.subscribe メソッドを呼び出して、使用するトピックとタグをサブスクライブします。次に、Consumer オブジェクトの registerMessageListener メソッドを使用してメッセージ リスナーを登録し、メッセージの到着時にビジネス ロジックを実行します。最後に、コンシューマを起動します。
- Consumer の実行
Consumer クラスの main メソッドを実行します。すべてが正しく構成されている場合は、コンソールに「Consumer Started」の出力が表示され、メッセージを受信できるようになります。プロデューサーから送られてくる情報です。
4. 概要
この記事の導入部を通じて、Java を使用して RocketMQ に基づく分散メッセージング ミドルウェア アプリケーションを開発する方法を学びました。メッセージを送受信する方法を学び、具体的なコード例を示しました。もちろん、実際のアプリケーションでは、例外の処理やメッセージ遅延の設定など、さらに詳細な機能が必要になります。この記事が、RocketMQ の使用を開始し、メッセージ ミドルウェア テクノロジを実際のプロジェクトに適用してシステムのスケーラビリティと安定性を向上させるのに役立つことを願っています。
以上がJava を使用して RocketMQ に基づく分散メッセージング ミドルウェア アプリケーションを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。
