私は、クライアント xから送信されたメッセージが最終的に宛先クライアント yに送信される前にサーバーで処理される、複数のクライアントからサーバーへのシステムを持っています。この処理には、メッセージをグローバル キューおよび異なるスレッド間でプッシュすることが含まれます (たとえば、メッセージが配信される前に異なるノード間を移動する必要がある場合)。メッセージを送信するクライアント xとそれを受信するクライアント yの間の待ち時間に関する情報を収集する必要があります。
これを行う一般的な方法が何であるかを知りたいと思います(私はタイマーの経験がなく、学びたいです)、2つの仮説にたどり着きました:
- サーバーがクライアント xからメッセージを受信したときにメッセージにタイムスタンプを付け、目的のクライアントがメッセージを最終的に受信した時刻からそれを差し引きます。
- 到着するメッセージごとにタイマーを開始します (これは '00 から '000 のメッセージにまたがる可能性があり、プロセッサが重すぎると感じています)。
'0-'00s のクライアントがあり、集中サーバー システムが大きなボトルネックになる可能性があるため、タイマーをできるだけ軽量にする必要があります (ミリ秒の精度を見ています)。アドバイスをいただければ幸いです。