問題タブ [zeromq]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rabbitmq - AMQP/ZeroMQ/RabbitMQ を使用する理由
独自のライブラリを作成するのとは対照的です。
ここでは、自己分割サーバー プールとなるプロジェクトに取り組んでいます。1 つのセクションが重くなりすぎると、マネージャーはそれを分割し、別のプロセスとして別のマシンに配置します。また、これが影響を与えるすべての接続済みクライアントに、新しいサーバーに接続するように警告します。
サーバー間およびプロセス間通信に ZeroMQ を使用することに興味があります。私のパートナーは自分でロールすることを好みます。この質問に答えるコミュニティを探しています。
私自身かなり初心者のプログラマーで、メッセージング キューについて学んだばかりです。私がググって読んだように、誰もがあらゆる種類のメッセージキューを使用しているようですが、なぜですか? 独自のライブラリを作成するよりも優れている点は何ですか? なぜそれらはとても一般的で、なぜそんなにたくさんあるのですか?
message-queue - zeromq / AMQPプラグイン可能?
[1] AMQP標準を読んでいましたが、交換、キュー、およびバインディングコンポーネントが明確に分離されているようです。ただし、zeromqのドキュメントを見ると、zeromqで独自の交換/キュー/バインディングの実装をプラグインできるようには見えません。
[2]また、プロトコルの詳細を気にする必要がなく、これらの各コンポーネントの実装をプラグインして機能することを期待できるAMQPフレームワークはありますか?(AMQPのヒューズのようなもの)。
更新:zeromqはAMQP準拠のメッセージングシステムではなく、バインディングの概念がないと思うので、最初の質問は無視できると思います。
authentication - ZeroMQを使用したサブスクライブ認証
ZeroMQメッセージングシステムを理解するのに苦労しているので、飛び込む前に、自分がやりたいことが可能かどうかを誰かが知っているかどうかを確認したいと思いました。
データの特定のストリームを公開し、それらのストリームの一部をサブスクライブするZeroMQを使用してpubsubサーバーをセットアップしたいのですが、ユーザーはそれらのストリームにアクセスできるかどうかを確認するために認証する必要があります。私が見たものはすべて、zmq.SUBSCRIBEコマンドでサブスクライブが行われています。
これを認証用に変更できますか?それは箱から出してそれをサポートしますか?
c++ - zmq ソケット タイムアウトの設定方法
ZMQ_REQ コンテキストで zmq を使用するクライアント アプリケーションとサーバー アプリケーションがあります。私が経験しているのは、サーバー コンポーネントがダウンするか利用できない場合、クライアントはメッセージを送信できるようになるまで待機するということです。クライアント レベルで最大待機時間またはタイムアウトを設定する方法はありますか?
performance - Corosync、ZeroMQ、Spread の CPG は、メッセージングに関してどのように比較されますか?
私は興味を持っている:
- パフォーマンス
- レイテンシー
- スループット
- リソース使用量 (CPU、メモリなど)
- 高可用性
- 単一障害点なし
- 特徴
- 輸送オプション
- ルーティング オプション
- 安定
- コミュニティ
- 活発な開発
- 広く使われています
- 便利なメーリング リスト、フォーラム、IRC チャネル、...
- 現在のコードベースとの統合の容易さ
- 多分落とし穴
- あなたが私が省略したと思う他のもの
それらについて読んだことがありますが、適切な比較が見つかりませんでした。特に、それらを比較するパフォーマンス ベンチマークに興味があります。(たぶん、自分でやるべきです!そうでないことを願っています。)
amqp - DDS 対 AMQP 対 ZeroMQ
私の評価と懸念が正しいかどうかについてのフィードバックが必要でした。
私は、データセンターでデータトランスポート層を構築するために、Data Distribution Service、AMQP、および ZeroMQ の 3 つを調査してきました。3 つすべてが有望に見えますが、ブロックの問題がいくつか発生しました。
コンテキストを与えるために、私の要件は次のとおりです。
- 500 以上の物理ノード、1000 以上のパブリッシャーとサブスクライバーまで拡張できます。
- メッセージの永続的な配信をサポートして、失敗したサブスクライバーに対処します。
- 集約されたスループットは、1 秒あたり 100 万メッセージ以上である必要があります
AMQP の問題:
- ブローカ アーキテクチャは、デプロイメント セットアップ全体におけるボトルネックであり、障害の中心点であるようです。保留中のメッセージのパフォーマンスと可用性を向上させるためにフェデレーションとクラスターを配置することで展開を複雑にすることができますが、それでもフェイルプルーフではないようです。
- 永続キューのパフォーマンスは非常に低いようです。私のサンプル アプリケーションは、6 ~ 7K のメッセージ/コア/キュー/アプリケーションしかクロックできませんでした。
ZeroMQ の問題:
- ドキュメンテーションは、少し深く掘り下げているようです。
- 保留中のメッセージに対するシステムの動作は、PUB/SUB モデルの通信で問題を引き起こすようです。参照してください: zeromq が PUB/SUB モードで遅いコンシューマを処理する方法
OpenSplice DDS: 業界での採用を除いて、DDS プロトコルに欠けているものは何も見つかりませんでした。安定性、パフォーマンス、または制限に関して、この製品の直接のレビューを知りたい.
messaging - 0MQ はプロトコル、レイヤー、またはその両方ですか? STOMPと併用できますか?
私は STOMP と 0MQ の両方に不慣れで、自分自身を結び目に結び付けましたが、一言で言えば、PHP MOM または多数の PHP MOM からの対話を使用して、ブラウザーでのクライアント間の通信を容易にしたいと考えています。WebSocket を使用して、html5 ブラウザー クライアントと MOM エンドポイント間に永続的な二重接続 (利用可能な場合) を提供し、それらのエンドポイントを使用して、1-1、1-多く、多対 1 の関係。
MOM エンドポイントは、さまざまな目的で他のサーバーと通信したり、それらの間で通信したりする可能性があります。0MQ は、これらのサーバー間で情報を迅速に交換するための実行可能な方法であると考えています。クライアント間のメッセージング用のプロトコルとして、STOMP は良さそうです (ただし、プロトコルの定義に問題があることは認識しています)。
....だから、ここが私の混乱のポイントです。STOMP を使用するには、MOM が STOMP ブローカーである必要があり、STOMP ブローカーである場合、0MQ は「ブローカーレス」メッセージング レイヤーであるため、両方を使用する目的を無効にすることはありませんか?
明確にするために、MOM - MOM 通信には 0MQ、クライアント - クライアント通信には STOMP を検討しています。
もちろん、クライアント間の通信を容易にするために 0MQ を再利用する方法はありますか? 私の本当の混乱は0MQにあると思います-それはプロトコルではなく軽量のメッセージングレイヤーですか、それともその両方ですか? レイヤーのみの場合、0MQ を使用して STOMP メッセージを転送できませんか?
誰かが私のために0MQに光を当てることができれば、私はとても感謝しています-ありがとう!
zeromq - ZeroMQが使用されたプロジェクトを知っていますか?成功事例と失敗事例の両方が価値があります
プロジェクトでZeroMQを使用することに興味がありますが、他の人の経験について聞きたいです。いくつか検索しましたが、mongrel2プロジェクトしか見つかりませんでした。それが使用されている他のプロジェクトについて聞いたことがありますか?どの企業が本番環境でZeroMQを使用していますか?