私の最初のzeromqアプリケーションを書いているので、単純な質問で申し訳ありません. 私の金融ソフトウェアでは、証券取引所から見積もりを受け取ります。各更新は次のようになります。
struct OrderUpdate {
uint32_t instrumentId;
uint32_t MDEntryID;
uint32_t MDUpdateAction; // 0 - New 1 - Change 2 -Delete
double /*decimal*/ MDEntryPx;
double /*decimal*/ MDEntrySize;
uint32_t RptSeq;
uint32_t MDEntryTime;
uint32_t OrigTime;
char MDEntryType;
};
この構造を実行時に割り当てるのではなく、事前に割り当ててから再利用 (再構成) します。
この構造体を c++ から c# に渡す必要があります (後で c++ から c++ に移行すると、Linux に移動します)。
どの zeromq テクニックを使用する必要がありますか? 私が理解している限り、次のことを行う必要があります。
- リーダーとライターが 1 つずつあるため、PUB-SUB を使用します。
inproc
より高速なトランスポートとして使用します(制限を理解しており、それらを使用しても問題ありません)- ゼロコピーを使用して、
OrderUpdate
構造を zeromq パブリッシャー バッファーに配信します - ZMQ_DONTWAIT を使用しますか?
私はそれについて正しいですか、おそらくもっと提案できますか?