8

最新のAPIのほとんどは、HTTPを介した要求/応答メッセージングを備えたJSONを使用して構築されています。ZeroMQはTCPを介しているので、JSONベースのAPIをZeroMQを介して構築できますか?もしそうなら、利点は何でしょうか?用途は

  1. 1つ以上のウェブサーバーと通信するクライアント/デバイス用のアプリを作成する開発者、および

  2. Webサーバーと通信するWebサーバー。

4

1 に答える 1

16

はい、jsonベースのAPIは、HTTPではなくZeroMQの上に構築できます。REQ/REPソケットが必要になります。しかし、それは良い選択ではないようです。

JSON + HTTPアプローチの主な利点は、移植性です。JSON + HTTPは、事実上すべてのプログラミング環境ですぐにサポートされます。ZeroMQはそれほど広くサポートされていません(たとえば、ブラウザーJSではサポートされていません)。また、ZeroMQはセットアップがそれほど簡単ではないため、サービスの利用者はおそらくその選択に満足しないでしょう。

一方、ZeroMQの主な利点はパフォーマンスです。1秒あたり数メガバイト(またはおそらくギガバイト)のデータをプッシュする必要がある場合に最適です。JSONのエンコード/デコードは非常に高速ですが、この種のタスクではサイズも重要です。バイナリシリアル化フレームワークの方が適しているようです。protobuf、thrift、BSON、kryo、avroなどがたくさんあります。

そのため、引き続きWebサービスのAPIにJSON + HTTPを使用します。最新のHTTPサーバーツールは、優れたパフォーマンスとスケーラビリティを提供します。また、ZeroMQは、同時実行機能と明確に定義された使用パターンにより、制御された環境内での通信に最適です。

于 2013-01-11T16:37:30.360 に答える