明確にするために言うと、イベント ソーシングのデータ ストアとして Kafka を使用しようとしているのではなく、単にイベントをレプリケートするためです。
KafkaのConfluent Schema Registryは、プロデューサーからトピックに送信されたメッセージのスキーマを検証できるという点で非常に興味深いようです。ただし、私が理解していることから、各トピックをコンテナー ファイルのように扱います (トピックごとに 1 つのスキーマ)。
この制限は、File
複数のメッセージ スキーマを持つイベントソース ストリームでは機能しません。これらを個別のトピックに入れると、複雑になり、エラーが発生しやすくなります。FileCreated
FileMoved
FileCopied
FileDeleted
同じトピックに対して複数のスキーマをサポートする Schema Registry のようなツールはありますか?
アップデート
明確にするために、上記の各メッセージには異なるスキーマがあります。例えば:
FileCreated
:
{
type: "record",
name: "FileCreated",
fields: [
{ name: "id", type: "string" },
{ name: "name", type: "string" },
{ name: "path", type: "string" },
{ name: "size", type: "string" },
{ name: "mimeType", type": "string" },
{ name: "user", type: "string" },
{ name: "date", type: "long" }
]
}
FileMoved
:
{
type: "record",
name: "FileMoved",
fields: [
{ name: "id", type: "string" },
{ name: "from", type: "string" },
{ name: "to", type: "string" },
{ name: "date", type: "long" },
{ naem: "user", type: "string" }
]
}
FileDeleted
:
{
type: "record",
name: "FileDeleted",
fields: [
{ name: "id", type: "string" },
{ name: "date", type: "long" },
{ name: "user", type: "string" }
]
}