算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
kafka-resilience-and-schema-evolution【设计与创意】Enforces production Kafka guardrails including non-breaking schema evolution, dead-letter queues for poison messages, and acks=all producer durability. Use when designing or changing Kafka topics, producers, consumers, schema registry policies, or streaming recovery paths.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Generic streaming guidance is not enough for production Kafka. Agents routinely introduce breaking schema changes, under-provisioned durability settings, and missing poison-message isolation. This skill mandates enforceable broker, producer, consumer, and registry guardrails before any production change ships.
Kafka topics, producers, or consumersacks, retries, idempotence)Pair with streaming-and-messaging-systems for broader event design. Pair with avro-protobuf-json-schema-registry when registry subjects and compatibility CI are in scope.
Define the production contract before broker changes. Document:
Enforce producer durability defaults. Require unless explicitly waived with owner approval:
acks=all (or acks=-1)enable.idempotence=true when ordering and deduplication matterretries with delivery.timeout.ms aligned to SLAmax.in.flight.requests.per.connection=1 when strict ordering is requiredBlock breaking schema evolution. Before any schema change:
BACKWARD, FORWARD, or FULL — not NONE in production)references/kafka-production-guardrails.md for DLQ and evolution patternsMandate dead-letter and poison pill isolation. Every production consumer that parses external payloads must define:
Make lag and recovery observable. Plan for:
Load MCP observability when diagnosing live lag.
Use mcp-data-observability-integration with mcp/kafka.mcp.json to inspect consumer group lag and topic metadata before changing consumer code or partition counts.
| Rationalization | Reality |
|---|---|
| "acks=1 is fine because Kafka is durable." | Leader acknowledgment without full ISR acknowledgment loses events under failure scenarios. |
| "We can fix schema breaks by redeploying consumers quickly." | Breaking changes propagate to many consumers and batch sinks before redeploy completes. |
| "DLQs add too much operational overhead." | Poison pills without DLQs stall partitions, inflate lag, and hide data loss as consumer retries. |
| "Schema compatibility NONE is okay for internal topics." | Internal topics still feed warehouses, stream processors, and audit systems. |
NONE compatibilityacks=0 or acks=1 without documented waiveracks=all and idempotence requirements