--- # NATS JetStream Streams Configuration # Memory Module v1: 4 streams для різних класів даних та SLO apiVersion: v1 kind: ConfigMap metadata: name: nats-streams-config namespace: nats data: streams.json: | { "streams": [ { "name": "MM_ONLINE", "subjects": [ "mm.embed.online", "mm.retrieve.online", "mm.summarize.online" ], "retention": "limits", "max_age": 1800000000000, "max_deliver": 3, "ack_policy": "explicit", "storage": "file", "replicas": 3, "discard": "old", "duplicate_window": 300000000000 }, { "name": "MM_OFFLINE", "subjects": [ "mm.embed.offline", "mm.index.offline", "mm.backfill.offline" ], "retention": "limits", "max_age": 2592000000000000, "max_deliver": 10, "ack_policy": "explicit", "storage": "file", "replicas": 3, "discard": "old" }, { "name": "MM_WRITE", "subjects": [ "mm.qdrant.upsert", "mm.pg.write", "mm.neo4j.write" ], "retention": "limits", "max_age": 604800000000000, "max_deliver": 10, "ack_policy": "explicit", "storage": "file", "replicas": 3, "discard": "old" }, { "name": "MM_EVENTS", "subjects": [ "mm.event.audit", "mm.event.status" ], "retention": "limits", "max_age": 2592000000000000, "ack_policy": "explicit", "storage": "file", "replicas": 3, "discard": "old" } ], "consumers": [ { "stream_name": "MM_ONLINE", "name": "online-worker-tier-a", "durable_name": "online-worker-tier-a", "ack_policy": "explicit", "ack_wait": 30000000000, "max_ack_pending": 5000, "filter_subject": "mm.embed.online", "deliver_policy": "all", "max_deliver": 3, "backoff": [1000000000, 5000000000, 30000000000] }, { "stream_name": "MM_OFFLINE", "name": "offline-worker-tier-b", "durable_name": "offline-worker-tier-b", "ack_policy": "explicit", "ack_wait": 300000000000, "max_ack_pending": 10000, "filter_subject": "mm.embed.offline", "deliver_policy": "all", "max_deliver": 10, "backoff": [10000000000, 60000000000, 300000000000, 1800000000000] } ] }