ZeroMQ
とWebSockets
protocolsの違いを教えてください。
WebSockets
がWebブラウザクライアント用に設計されていることは知っていますが、サーバー間でも使用できると思います。
そして、その場合、_リアルタイムメッセージングにWebSockets
などの代わりにZeroMQ
を使用するのが良いのではないかと思います。
具体的には、一時的なネットワーク障害が発生した場合のreliabilityおよびmissing messagesが心配です。
Real-Timeの領域に入ると、メッセージをXHTMLにラップするのにクロックサイクルを費やすことは正当化されないことにすぐに気付くでしょう-Matrjoska-in-Another-Matrjoska-inside-another-Matrjoska同様のエンベロープ-inside-envelopesおよび関連する非効率性。
リアルタイムはリアルタイムで操作するのに苦労しているため、の処理に必要な最小達成可能時間を費やす/失うtaskUnit
。
同様の* ML-"sexy"方法で物事を再ラップする試みがありますが、結果としてパフォーマンスが低下し、代わりにリアルタイム領域の「外側」になりますそこでのパフォーマンス向上に重要な助けとなります。
これの非常に良い例は、XHTMLエンコードされたペイロードに対する金融市場の標準のFIX-プロトコル「拡張」を行う "quasi-IT-guru-crowd"の取り組みに関連するナンセンスです、高頻度トレーディングR&Dにおけるクレームアラクラームの取り組みは、関連するナノ秒を削る方法に莫大な資金/時間/労力を費やしています各IPパケットのワイヤアンロードと、待機中のリアルタイムdata
要素の可能な最速のデマッピング/デコーディング_prefixTag:value
_の元の仕様の最小限の設計に含まれていました。
WebSockets
は_port:80 HTML/XHTML
_と同様のラッピングと高レベルのペイロードコンテンツのフレーミングに重点を置いていますが、ZeroMQ
反対方向に進みます。トランスポートの低レベルの詳細からコードを「非表示」および「オフロード」します(したがって、INPROC
/IPC
/TCP
/PGM
/EPGM
/UDP
/VMCI
/...ローカル、クラウド全体、または両方の混合のトランスポートクラス)
WebSocket
プロトコルには、固定のクライアントとサーバーの役割とHTTPスタイルのハンドシェイクがあります。
WebSocket
フォーカスは、UTF-8/CRLFコンテンツのフォーマットで終了し、のペアの間のフレーミング_0×00
_&_0xff
_バイトで、ブラウザが実行できるように設計された、このようなバッファされたメッセージを解析するWebBrowsersの機能に基づいています。
ZeroMQを使用したことがない場合は、
"ZeroMQPrinciplesin less than 5秒 " 詳細に入る前ZeroMQ
は、特定の方法で連携するように作成された、ビルディングブロック上に構築するためのオープンアーキテクチャを提供します- -はい、彼らはBEHAVIOURを持っています-これは、デザインがより複雑なメッセージングパターンに使用していることです。これにより、無制限の上位層の抽象化が可能になり、一連の実績のあるビルディングブロックに基づいて構築されます-_ZMQ.PUBLISHER
_は、すべての_ZMQ.SUBSCRIBER
_- sにメッセージを送信します。公開されているニュースの一部。他のZMQプリミティブは、ラウンドロビンベースのロードバランサーの作成に役立ちます。追加の手順により、フェイルセーフアーキテクチャおよび同様の高度なソリューションを構築できます。
プロトコルの信頼性について尋ねましたが、プロトコルレベルにはより重要な属性があります-アセンブリ/再構成/分解のオーバーヘッド、パフォーマンスのスケーラビリティ、APIからワイヤーへのアクセスのレイテンシ、スレッドセーフ、および成長中のパフォーマンス属性の緩和ワークロードのレベル。
WebSocket
port:80通信は、WebSocket
以外の侵入に対して「オープン」ですが、ZeroMQ
低レベルプロトコルは、高速で効率的な排他的なZMQ-2-ZMQ用に設計されています、ピアハンドシェイクおよびすべての設計作業は、より高い抽象化APIレベルから構築されており、そこからアプリケーションベースのソフトシグナリングを追加できます。これにより、要求された missing-messageの問題は、アプリケーションの状態に悪影響を及ぼしません。
threadingとzero-copyに関するいくつかの高度なボーナスポイントも必要です&zero-latencyinternalities from this (piece of indepth insightMartin SUSTRIKから、両方の共同父親ZeroMQ
&少し若いPOSIX準拠の姉妹nanomsg
あなたの質問は「ApacheとHTTPの違いは何ですか」のように聞こえます
WebSocketは単なるプロトコル(httpに類似)ですが、ZeroMQはプロトコルとサーバーであり、メッセージを受信してから消費されるまで、メッセージのライフサイクルを担当します。