RPCミドルウェアとは何ですか?
# 1. メッセージミドルウェア
メッセージキュー技術は、分散アプリケーション間で情報を交換するための技術です。メッセージ キューはメモリまたはディスク上に常駐でき、アプリケーションによって読み取られるまでメッセージを保存します。メッセージ キューを使用すると、アプリケーションは独立して実行できます。アプリケーションはお互いの位置を認識したり、続行する前に受信プログラムがメッセージを受信するのを待つ必要がありません。 一般に、メッセージ ミドルウェアには、結合の低減、トラフィック ピークの低減、非同期通信、および信頼性の高い送信の機能があります。1. 結合の低減: パブリッシュとサブスクライブによる疎結合 登録ビジネスを例に挙げます。登録が成功すると、確認のために SMS と電子メールがユーザーに送信されます。従来のアーキテクチャ モデルは次のとおりです。#2. メッセージ ミドルウェア モデル
##3. 一般的に使用されるメッセージ ミドルウェア##RabbitMQ
1. RabbitMQ の機能:
RabbitMQ はオープン ソース実装ですErlang 言語で開発された AMQP 標準に基づいています。 RabbitMQ はもともと金融システムから生まれ、分散システムでメッセージを保存および転送するために使用されており、使いやすさ、拡張性、高可用性の点で優れたパフォーマンスを発揮します。その具体的な機能は次のとおりです。信頼性柔軟なルーティングメッセージ クラスターのサポート
高可用性
複数のプロトコルのサポート (AMQP プロトコルのサポートに加え、STOMP や MQTT などのプラグインを通じて他のメッセージ キュー プロトコルもサポートします)
多言語クライアントのサポート
管理インターフェイスの提供
追跡メカニズムの提供
プラグイン メカニズムの提供 (RabbitMQ は多くのプラグインを提供しており、独自のプラグインを作成することもできます)
概要:
RabbitMQ の最大の利点は、比較的柔軟なメッセージ ルーティング戦略、高可用性、信頼性、豊富なプラグイン、複数のプラットフォームを提供することです。サポートと完全なドキュメント。ただし、AMQP プロトコル自体の実装が比較的重いため、他の MQ (Kafka など) と比較してスループットが不利になります。
ActiveMQ
1.ActiveMQ の機能:
ActiveMQ は、Apache によって作成されたオープン ソースのメッセージング ミドルウェアであり、効率的でスケーラブルで安定した、エンタープライズレベルのメッセージング通信を保護します。 ActiveMQ は JMS 1.1 を実装し、JMX 管理、マスター/スレーブ管理、メッセージ グループ通信、メッセージの優先順位、遅延メッセージ受信、仮想レシーバー、メッセージの永続化、メッセージ キューの監視など、多くの追加機能を提供します。主な機能は次のとおりです。
Java、C、C、C#、Ruby、Perl、Python、PHP など、OpenWire、STOMP、AMQP などの複数の言語でクライアントとプロトコルをサポートします。 、MQTT プロトコル。
メッセージ グループ通信、メッセージの優先順位、遅延メッセージ受信、仮想受信者、メッセージの永続化などの高度な機能を提供します。
JMS 1.1 および J2EE 1.4 仕様 (永続性、分散トランザクション メッセージ、トランザクションを含む) を完全にサポートします。
Spring フレームワークをサポートし、ActiveMQ は Spring 構成ファイルを通じて Spring アプリケーションに簡単に埋め込むことができます。
TomEE、Geronimo、JBoss、GlassFish、WebLogic などの一般的な J2EE サーバー テストに合格しました。
多様な接続方式 ActiveMQ は、VM 内、TCP、SSL、NIO、UDP、マルチキャスト、JGroups、JXTA など、さまざまな接続方式を提供します。
JDBC とジャーナルを使用して、メッセージの高速永続化をサポートします。
高パフォーマンスのクラスター、クライアント/サーバー、ポイントツーポイント通信、およびその他のシナリオ向けに設計されています。
テクノロジーと言語に依存しない REST API インターフェイスを提供します。
AJAX 経由での ActiveMQ の呼び出しをサポートします。
ActiveMQ は、CXF や Axis などの Web サービス テクノロジと簡単に統合して、信頼性の高いメッセージングを提供できます。
インメモリ JMS プロバイダーとして使用でき、JMS 単体テストに非常に適しています。
Kafka
1.Kafka の機能:
Kafka は、分散パブリッシュ/サブスクライブ メッセージング システムとして LinkedIn によって最初に開発され、後に Apache のものになりました。トップレベルのプロジェクト。その主な機能は次のとおりです。
パブリッシュとサブスクリプションの両方で高いスループットを提供します。 (Kafka の設計目標は、時間計算量が O(1) のメッセージ永続化機能を提供することです。これは、TB レベルを超えるデータに対しても一定時間のアクセス パフォーマンスを保証でき、非常に安価な商用マシンでも実行できます。 1 台のマシンに 1 秒あたり 100K のメッセージを送信)
メッセージの永続性。 (メッセージをディスクに永続化するため、リアルタイム アプリケーションだけでなく ETL などのバッチ消費にも使用できます。データをハードディスクに永続化してレプリケートすることで、データ損失を防ぐことができます。)
分散。 (各パーティション内でのメッセージの連続送信を確保しながら、サーバー間でのメッセージの分割と分散消費をサポートします。内部のプロデューサー、ブローカー、およびコンシューマーはすべて分散アーキテクチャであるため、外部への拡張が容易になります。)
Consumingmessagesプルモードを採用。 (処理中のメッセージのステータスは、サーバー側ではなくコンシューマ側で維持されます。ブローカーはステートレスであり、コンシューマ自体がオフセットを保存します。)
オフラインだけでなく、オンラインおよびオフラインのシナリオもサポートします。データ処理とリアルタイムデータを扱います。
RocketMQ
1. RocketMQ の機能:
RocketMQ は、2012 年に Alibaba によってオープンソース化され、その後 Apache software Foundation に寄付された分散メッセージング ミドルウェアです。そして、2017 年 9 月 25 日に Apache のトップレベル プロジェクトになりました。アリババの「Double 11」など数々の「スーパープロジェクト」を経験し、安定した優れたパフォーマンスを誇る国産ミドルウェアとして、その高性能、低遅延、高信頼性により、近年国内ユーザーの利用が増えています。企業が使用します。主な特徴は次のとおりです。
柔軟な拡張性を備えています。 (RocketMQ は当然クラスターをサポートしており、その 4 つのコア コンポーネント (NameServer、Broker、Producer、および Consumer) はそれぞれ単一障害点なしで水平方向に拡張できます。)
大量のメッセージを蓄積する機能があります。 (RocketMQ は、ゼロコピーの原則を使用して、非常に大量のメッセージを蓄積する機能を実現します。1 台のマシンで数億のメッセージの蓄積をサポートできると言われており、非常に多くのメッセージを蓄積した後でも、低い書き込み遅延を維持します。 )
連続メッセージをサポートします。 (RocketMQ は、メッセージ コンシューマーが送信された順序でメッセージを消費することを保証できます。シーケンシャル メッセージは、グローバルに順序付けされたメッセージとローカルに順序付けされたメッセージに分けられます。一般に、ローカルに順序付けされたメッセージを使用することをお勧めします。つまり、プロデューサーは特定のタイプを送信します。達成するために同じキューに送信するためのメッセージの数。)
複数のメッセージ フィルタリング方法をサポートします。 (メッセージのフィルタリングは、サーバー側のフィルタリングとコンシューマ側のフィルタリングに分かれます。サーバー側でフィルタリングを行うと、メッセージのコンシューマの要件に応じてフィルタリングを実行できます。メリットは、不要なメッセージの送信が削減されることですが、デメリットは、メッセージ サーバーの負荷が増加します。実装は比較的複雑です。コンシューマ側のフィルタリングは、特定のアプリケーションによって完全にカスタマイズされます。この方法はより柔軟です。欠点は、多くの無駄なメッセージがメッセージ コンシューマに送信されることです。)
トランザクションメッセージをサポートします。 (通常のメッセージと順次メッセージのサポートに加えて、RocketMQ はトランザクション メッセージもサポートします。この機能は、分散トランザクションに別のソリューションを提供します。)
バックトラッキング消費をサポートします。 (遡及消費とは、コンシューマーによって正常に消費されたメッセージが、ビジネス ニーズのために再度消費される必要があることを意味します。RocketMQ は、時間に応じた遡及消費をサポートします。時間ディメンションはミリ秒単位で正確で、前後に追跡できます。)
MoreFAQ については、PHP 中国語 Web サイトをご覧ください。
以上がRPCミドルウェアとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









RPC サーバーが利用できず、デスクトップからアクセスできない場合はどうすればよいですか? 近年、コンピューターとインターネットが私たちの生活の隅々に浸透しています。集中コンピューティングとリソース共有のテクノロジーとして、リモート プロシージャ コール (RPC) はネットワーク通信において重要な役割を果たします。ただし、場合によっては、RPC サーバーが利用できなくなり、デスクトップにアクセスできなくなる状況が発生することがあります。この記事では、この問題の考えられる原因のいくつかについて説明し、解決策を提供します。まず、RPC サーバーが使用できない理由を理解する必要があります。 RPCサーバーは、

Tomcat ミドルウェアの原理は、Java Servlet および Java EE 仕様に基づいて実装されています。 Tomcat はサーブレット コンテナとして、HTTP リクエストとレスポンスを処理し、Web アプリケーションに実行環境を提供する役割を果たします。 Tomcat ミドルウェアの原理には主に次のものが含まれます: 1. コンテナ モデル; 2. コンポーネント アーキテクチャ; 3. サーブレット処理メカニズム; 4. イベント リスニングとフィルター; 5. 構成管理; 6. セキュリティ; 7. クラスタリングとロード バランシング; 8. コネクタテクノロジー; 9. エンベデッドモードなど

ミドルウェアを使用して Laravel でフォーム検証を処理する方法、特定のコード例が必要です はじめに: フォーム検証は Laravel で非常に一般的なタスクです。ユーザーが入力したデータの有効性と安全性を確保するために、当社は通常、フォームに送信されたデータを検証します。 Laravel は便利なフォーム検証機能を提供しており、フォーム検証を処理するためのミドルウェアの使用もサポートしています。この記事では、ミドルウェアを使用してLaravelでフォーム検証を処理する方法を詳しく紹介し、具体的なコード例を示します。

Laravel でデータ アクセラレーションのためのミドルウェアを使用する方法 はじめに: Laravel フレームワークを使用して Web アプリケーションを開発する場合、データ アクセラレーションがアプリケーションのパフォーマンスを向上させる鍵となります。ミドルウェアは、Laravel が提供する重要な機能で、リクエストがコントローラーに到達する前、または応答が返される前に処理します。この記事では、ミドルウェアを使用して Laravel でデータ高速化を実現する方法に焦点を当て、具体的なコード例を示します。 1. ミドルウェアとは何ですか? ミドルウェアはLaravelフレームワークの仕組みです。

Laravel での応答変換にミドルウェアを使用する方法 ミドルウェアは、Laravel フレームワークの非常に強力で実用的な機能の 1 つです。これにより、リクエストがコントローラーに入る前、またはレスポンスがクライアントに送信される前に、リクエストとレスポンスを処理できるようになります。この記事では、Laravel でレスポンス変換にミドルウェアを使用する方法を説明します。始める前に、Laravel がインストールされており、新しいプロジェクトが作成されていることを確認してください。次に、次の手順に従います。 新しいミドルウェアを作成する 開く

Laravel は、効率的で安全かつスケーラブルな Web アプリケーションを構築するための多くの高速かつ簡単な方法を提供する、人気のある PHP Web アプリケーション フレームワークです。 Laravel アプリケーションを開発する場合、多くの場合、データ回復の問題、つまり、データの損失または損傷が発生した場合にデータを回復し、アプリケーションの通常の動作を保証する方法を考慮する必要があります。この記事では、Laravelミドルウェアを使用してデータ回復機能を実装する方法と、具体的なコード例を紹介します。 1. ララとは何ですか?

Slim フレームワークでミドルウェアを使用してクロス オリジン リソース シェアリング (CORS) を設定する方法 クロス オリジン リソース シェアリング (CORS) は、サーバーが HTTP 応答ヘッダーに追加情報を設定して、ブラウザーに相互接続を許可するかどうかを伝えることができるメカニズムです。 -オリジンリクエスト。フロントエンドとバックエンドが分離されている一部のプロジェクトでは、CORS メカニズムを使用して、バックエンド インターフェイスに対するフロントエンドのクロスドメイン要求を実現できます。 Slim フレームワークを使用して REST API を開発する場合、ミドルウェア (Middleware) を使用できます。

Laravel でスケジュールされたタスクのスケジューリングにミドルウェアを使用する方法 はじめに: Laravel は、Web アプリケーションを開発するための便利で強力なツールを提供する、人気のある PHP オープン ソース フレームワークです。重要な機能の 1 つはスケジュールされたタスクです。これにより、開発者は指定された間隔で特定のタスクを実行できます。この記事では、ミドルウェアを使用してLaravelのスケジュールされたタスクのスケジューリングを実装する方法と、具体的なコード例を紹介します。環境の準備 始める前に確認する必要があります