ZeroMQ ガイドには、インプロセス マルチスレッド (インプロセス トランスポート) に ZeroMQ を使用する良い例があります。ただし、この例は、文字列である単純なメッセージ ペイロードを示しています。したがって、シリアライゼーションとデシリアライゼーションのコストはわずかです。
ただし、大規模なビジネス ドメイン オブジェクトの例を考えてみましょう。このドメイン オブジェクトは、その XML 表現にシリアル化できます。では、各スレッドと通信するために、ドミン オブジェクトを 1 つのスレッドでシリアライズし、inproc ワーカー スレッドに送信し、デシリアライズしてメッセージ ペイロードに作用させる必要がある場合、ZeroMQ はマルチスレッドに対してどのようにパフォーマンスを発揮できるでしょうか。シリアライゼーションとデシリアライゼーションのコストは、メッセージ パッシングのパフォーマンスの向上を無効にしないでしょうか?
将来的には、CPU 間、ノード間、ネットワーク間などでスケーリングできるため、この構成の利点を理解しています。しかし、「ZeroMQを使用したマルチスレッド」の概念全体で混乱しています。
もう 1 つの方法は、ドメイン オブジェクトをキャッシュに格納し、ID をワーカー スレッドに渡すだけで、キャッシュから実際のドメイン オブジェクトをフェッチすることです。これは意図したものですか?
ユースケースやベストプラクティスは大歓迎です。