本番環境に対応した低遅延の分散ログ用の既存のソフトウェアはありますか? アイデアは、サービス自体に送信される前に、入力メッセージをサービスに保存することです。サービスが起動すると、その状態の最新のスナップショットが取得され、入力メッセージが再生されます。サービスが確定的である場合、サービスの複数のインスタンスを一度に実行できます。これにより、高可用性とゼロ ダウンタイムの導入の両方が実現します。
利用可能なログは多数ありますが、遅延が大きいもの、分散/クラスタ化が十分でないもの、本番環境にまだ対応していないものがあります。
利用可能な分散ログ ソフトウェア
カフカ
NATS ストリーミング
タンク
分散ログ
パルサー
ロケットMQ
リフトブリッジ
ジョッコ
LogDevice
要件
メッセージ/イベントの永続性 (メモリ内またはディスク上)
トピック/パーティション内のメッセージの順序
At-least-once-delivery: パブリッシャーとサーバー間 (パブリッシュ操作用) およびサブスクライバーとサーバー間 (メッセージ配信を確認するため) のメッセージ確認応答
サブジェクトごとの履歴メッセージの再生: 新しいサブスクリプションは、サブスクライブしたサブジェクトのチャネル用に保存されたメッセージのストリーム内の開始位置を指定できます。
高可用性: 複数のクラスター化されたノードがあり、それらの間でレプリケーションが行われている必要があります
低遅延: 2 つのノードがメッセージを受信してから送信するまで待機する場合は、低遅延でなければなりません。理想的には数ミリ秒ですが、数十ミリ秒以上ではありません。これが、Kafka がこれに適していないと思われる主な理由です。
見逃したオプションはありますか?