ホームページ  >  記事  >  バックエンド開発  >  Python のメッセージ キュー フレームワークの概要

Python のメッセージ キュー フレームワークの概要

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼オリジナル
2019-06-14 13:34:249376ブラウズ

Python のメッセージ キュー フレームワークの概要

#Python メッセージ キュー フレームワークとは何ですか?

RabbitMQ

は、Erlang で書かれたオープン ソースのメッセージ キューであり、多くのプロトコル (AMQP、AMQP、 XMPP、SMTP、STOMP: これにより、非常に軽量になり、エンタープライズ レベルの開発に適しています。同時に、ブローカー (Broker) アーキテクチャが実装されています。これは、メッセージがクライアントに送信されるときに、まず中央のキューに入れられることを意味します。ルーティング、負荷分散、またはデータの永続性が適切にサポートされています。

Python のメッセージ キュー フレームワークの概要

Redis

は Key-Value NoSQL データベースであり、Key-Value ではありますが、開発と保守が非常に活発です。データベースストレージシステムですが、それ自体がMQ機能をサポートしているため、軽量なキューサービスとして利用できます。 RabbitMQ と Redis のエンキューおよびデキュー操作は、それぞれ 100 万回実行され、100,000 回ごとに実行時間が記録されます。テストデータは、128 バイト、512 バイト、1K、10K の 4 つの異なるサイズに分割されます。実験によると、キューに入るとき、データが比較的小さい場合、Redis のパフォーマンスは RabbitMQ よりも高いですが、データ サイズが 10K を超えると、Redis は耐えられないほど遅くなり、キューから出るとき、Redis はデータに関係なく非常に優れたパフォーマンスを示します。データのサイズが大きく、RabbitMQ のデキュー パフォーマンスは Redis のパフォーマンスよりもはるかに低くなります。

Python のメッセージ キュー フレームワークの概要

関連する推奨事項: 「Python ビデオ チュートリアル

ZeroMQ

は既知です特に大規模なスループット要求シナリオ向けの、最も高速なメッセージ キュー システムとして。 ZMQ は RabbitMQ が苦手とする高度で複雑なキューを実装できますが、開発者は複数の技術フレームワークを自分で組み合わせる必要があり、技術的な複雑さが MQ の適用を成功させるための課題となっています。 ZeroMQ には独自の非ミドルウェア モデルがあり、アプリケーションがこのサービスの役割を果たすため、メッセージ サーバーやミドルウェアをインストールして実行する必要はありません。 NuGet を使用してインストールできる ZeroMQ ライブラリを参照するだけで、アプリケーション間でメッセージを簡単に送信できるようになります。ただし、ZeroMQ は非永続キューのみを提供するため、マシンがダウンするとデータが失われます。このうち、Twitter の Storm はデータ ストリームの送信に ZeroMQ を使用します。

Python のメッセージ キュー フレームワークの概要

ActiveMQ

は、Apache のサブプロジェクトです。 ZeroMQ と同様に、ブローカーおよびピアツーピア テクノロジーを使用してキューを実装できます。同時に、RabbitMQ と同様に、少量のコードで高度なアプリケーション シナリオを効率的に実装できます。 RabbitMQ、ZeroMQ、および ActiveMQ はすべて、C、Java、.Net、Python、Php、Ruby などの一般的に使用される多言語クライアントをサポートします。

Python のメッセージ キュー フレームワークの概要

Jafka/Kafka

は、高性能の言語間分散型パブリッシュ/サブスクライブ メッセージ キュー システムであり、Jafka は上記でインキュベートされた Kafka は、Kafka のアップグレード バージョンです。次の特徴があります: 高速永続性 (O(1) システム オーバーヘッドでメッセージを永続化できる)、高スループット (通常のサーバーで 10W/秒のスループット レートに達することができる)、完全に分散されたシステム (ブローカー、プロデューサー、およびコンシューマー)すべてネイティブかつ自動的に分散をサポートし、複雑なバランスを自動的に実現し、Hadoop データの並列ロードをサポートします。これは、リアルタイム処理の制限が必要なログ データや Hadoop のようなオフライン分析システムにとって実現可能なソリューションです。 Kafka は、Hadoop の並列読み込みメカニズムを通じてオンラインとオフラインのメッセージ処理を統合します。これは、このプロジェクトで研究されたシステムが重視しているものでもあります。 Apache Kafka は、ActiveMQ に比べて非常に軽量なメッセージング システムであり、非常に優れたパフォーマンスに加えて、適切に機能する分散システムでもあります。

Python のメッセージ キュー フレームワークの概要

Rocketmq

RocketMQ は、2012 年に Alibaba によってオープンソース化された分散メッセージング ミドルウェアで、Apache Software Foundation に寄付されています。 、2017 年 9 月 25 日に Apache のトップレベル プロジェクトになりました。アリババのダブルイレブンをはじめとする数多くの「スーパープロジェクト」を経験し、安定した優れたパフォーマンスを実現している国産ミドルウェアとして、その高性能、低遅延、高信頼性により、近年ますます多くの人に利用されています。国内企業による。

Python のメッセージ キュー フレームワークの概要

以上がPython のメッセージ キュー フレームワークの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。