ืขืืืื ืืฆืืื (Batch) ืืื ืืงืจื ืคืจืื ืฉื ืกืืจืืืื ื. ืืืฉืจ ืืขืกืง ืฉืื ืฆืจืื ืืืืื ืชืื ืฉื ืืืช ืืืงืื ืฉืขืืช, ืืชื ืืงืืง ืืืจืืืืงืืืจื ืืื ืืื ืืืจืืืช ื ืชืื ืื ืจืฆืืคื.

ืืืืฉืืืจืืื ืฉืื ืืื ื ืขืืื ืืื ืืจืืข ืฉืืืฉืื ืืกืชืื ืขืืืื. ืืืืื ืืื ืืืช ืืชืืฆืข ืืขืืืืช ืืฆืืื ืืืืืช, ืืชืืคืก ืืื ืืืช ืจืง ืืืืจืช ืืืืงืจ. ืกืคืืจืืช ืืืื ืืชืขืืื ืืช ืืื ืฉืขื, ืื ืฉืืืจื ืืืืืจืช ืืชืจ. ื ืชืื ื ืืืืฉื ืื ื ืืกืคืื ืื ืื ืืืืคืืื ืขื ืฉืื ืื ืืชืืื ืืชืืืื ETL ืืืื. ืืชื ืืงืืง ืืืขืจืืช ืฉืื ื ืชืื ืื ืืืจืืื ืืืืคื ืจืฆืืฃ ืืืงืืจืืช, ืืจื ืขืืืื, ืื ืฆืจืื ืื, ืขื ืืฉืืื ืฉื ืคืืืช ืืฉื ืืื โ ืื ืืืืืงื ืืืื ืืืช, ืืชืจืืืช ืืืืช, ืืกืงืช ืืกืงื ืืช (inference) ืฉื AI ืืกืืจืืืื ื, ืืกื ืืจืื ืืืืื ืืื ืืขืจืืืช.
Explore more design patterns and system architectures
ืืืจืืืืื ืฉืื ื ืืืืืื ืืขืืืจ ืื ืืขืฆื ืืืื ืืช ืืขืจืืืช ืชืื ืฉืืืืฉ ืืืคืืก ืื ืืืจืืฉืืช ืืกืคืฆืืคืืืช ืฉืื.
ืฆืจื ืงืฉืจืืจืืืืงืืืจืช ืกืืจืืืื ื ืืืื ืืืช ืืขืืืช ื ืชืื ืื ืืืจืืื ืจืฆืืคื ืืืืชื ืืืืืืช ืืื ืืืฆืืืช ื ืคืจืืืช. ืืคืืงื ืืืจืืขืื ืืคืจืกืืื ืืคืืืคืืจืืช ืกืืจืืืื ื (Kafka, Kinesis, Pulsar). ืืขืืื ืกืืจืืืื ื (Flink, Kafka Streams, custom consumers) ืืฉื ืื, ืืขืฉืืจืื, ืืกื ื ืื ืืืืืืื ืืืจืืขืื ืชืื ืืื ืชื ืืขื. ืชืืฆืืืช ืืขืืืืืช ื ืืืคืืช ืืฆืจืื ืื: ืืืฉืืืจืืื ืืืื ืืืช (WebSocket), ืืื ืืงืกื ืืืคืืฉ (Elasticsearch), ืืกืื ื ืชืื ืื ืื ืืืืืื (ClickHouse), ืืฉืืจืืชืื ืืืืจื ืืืจื (downstream services). Change Data Capture (CDC) ืืืคืฉืจ ืืืกืื ื ืชืื ืื ืงืืืืื ืืืฉืชืชืฃ ืืืงืืจืืช ืืืจืืขืื ืืื ืฉืื ืืืื ืืืืฉืื.
ืืืจืืืืงืืืจื ืืฉ ืืจืืข ืฉืืืืช. ืืงืืจืืช ืืืจืืขืื ืืืืฆืจืื ื ืชืื ืื โ ืืืจืืขื ืืืฉืืืื, ืืจืื CDC ืฉื ืืกืื ื ืชืื ืื, ืืืืืจืื ืฉื IoT, clickstreams ืฉื ืืฉืชืืฉืื, ื-webhooks ืฉื API ืืืฆืื ืืื. ืคืืืคืืจืืช ืืกืืจืืืื ื (Kafka) ืืกืคืงืช ืืืกืื ืืืจืืขืื ืขืืื, ืืกืืืจ ืื ืืชื ืืฉืืืืจ. ืืขืืื ืกืืจืืืื ื ืฆืืจืืื ืื ืืฉืืื (topics), ืืืืฉืืื ืืจื ืกืคืืจืืฆืืืช (ืกืื ืื, ืืขืฉืจื, ืฆืืืจื ืืืืกืกืช ืืืื ืืช, ืฆืืจืืคืื), ืืืคืืงืื ื-topics ืื sinks ืคืื. ืฆืจืื ืื ืื ืืืื ืืืจืืื ืืขืืืืื โ ืฉืจืชื WebSocket ืืืืคืื ืืืคืืคื ืื, ืืืืจืื (connectors) ืฉืืงืขืื ืืืกืื ื ืชืื ืื, ืื ืืขื ืืชืจืื ืืขืจืืืื ืืืืื ืืืืฆืืืื ืืชืจืืืช.
| ืฉืืื | ืืื ืืืืืืืช |
|---|---|
| ืกืืจืืืื ื | Apache Kafka (MSK, Confluent), Kinesis, Apache Pulsar, Redpanda |
| CDC | Debezium, AWS DMS, Maxwell |
| ืขืืืื | Apache Flink, Kafka Streams, Benthos, ืฆืจืื ืื ืืืชืืืื ืืืฉืืช |
| ืืกืืจื ืืืื ืืืช | WebSocket (Socket.io), SSE, GraphQL Subscriptions |
| ืื ืืืืืงื | ClickHouse, Apache Druid, Elasticsearch, TimescaleDB |
| ื ืจืืืช (Observability) | Kafka lag monitoring (Burrow), Flink metrics, ืืขืงื ืืืจ ืืฉืืื ืืืชืื ืืืฉืืช |
| ืืฉืชืืฉ ืืฉ- | ืืืื ืข ืืฉ- |
|---|---|
| ืืืืืืช ืขืกืงืืืช ืืืจืฉืืช ืจืขื ื ืืช ื ืชืื ืื ืฉื ืคืืืช ืืฉื ืืื (ืืื ืื, ื ืืืืจ, ืืกืืจ) | ืขืืืื ืืฆืืื ืขื ืจืขื ื ืืช ืฉืขืชืืช/ืืืืืช ืขืื ื ืขื ืืฆืืจื ืืขืกืงื |
| ืฆืจืื ืื ืืจืืืื ืืงืืงืื ืืืืชื ืืจื ืืืจืืขืื (Fan-out, ืืขืจืืืช ืืืคืจืืืช) | ืืฉ ืื ืืคืืง ืืืื ืืฆืจืื ืืืื โ ืชืืจ ืคืฉืื ืืกืคืืง |
| ืืชื ืืงืืง ืืฉืืืืจ ืืืจืืขืื ืื ืืคืื ืืืืื (debugging), ืขืืืื ืืืืฉ, ืื ืื ืืืช ืฆืจืื ืื ืืืฉืื | ื ืคื ืื ืชืื ืื ื ืืื (< 1K events/min) ืืืื ื ืืฆืืืง ืชืฉืชืืช ืกืืจืืืื ื |
| CDC ื ืืืฅ ืืกื ืืจืื ืืกืื ื ืชืื ืื ืงืืืืื ืืืขืจืืืช ืืืืจื ืืืจื (downstream systems) ืืื ืฉืื ืืื ืงืื | ืืฆืืืช ืืกืจ ื ืืกืืื ืขื ืืขืจืืืช ืืืืืจืืช โ ืกืืจืืืื ื ืืืกืืฃ ืืืจืืืืช ืชืคืขืืืืช ืืฉืืขืืชืืช |
MW ืืชืื ื ืช ืืขืจืืืช ืกืืจืืืื ื ืขื "ืขืงืจืื ืืฉืืืืจ" (replay principle) โ ืื ืืจื ืฆืจืื ืืืืืช ื ืืชื ืืฉืืืืจ ืื ืงืืืช ืืื ืืกืืืืช, ืื ืฉืืืคืฉืจ ืืฆืจืื ืื ืืืฉืื ืืืื ื ืชืื ืื ืืืกืืืจืืื ืืืฆืจืื ืื ืงืืืืื ืืขืื ืืืืฉ ืืืืจ ืชืืงืื ื ืืืืื. ืคืจืืกืืช ื-Kafka ืฉืื ื ืืืืืืช ืืืื ืืืช ืืืืืืฆืืืช ืกืืืื (ืชืืืืช ืืืืืจ ืืืจืืจืช ืืืื), ืืชืจืืืช ืขื ืขืืืื ืฆืจืื ืื (ืืคื ื ืฉืืื ืืืคื ืืขืืืื ืืืื ืืขืกืง), ื-dead-letter topics ืขื ื ืืกืืื ืืืืจ ืืืืืืื. ืื ืื ื Pipelines ืฉื ืกืืจืืืื ื ืืืขืืืื ืืืขืื ื-500K ืืืจืืขืื ืืฉื ืืื ืขืืืจ ืื ืืืืืงืช ืืืืื, ืืืืืจืื ืฉื IoT ืืืืฉืืืจืืื ืืืื ืืืช.
ืืืืืื ืื ืืจืืฆืื ืืช ืขืฆืื. ื-Pipeline ืฉืืืฉืืจ, ืืืืช, ืคืืจืก ืืื ืืจ ืืช ืืืืืืื ืฉืื ืืื ืืืืฆืจ ืืืืืชื โ ืืืืื ืืื ืจืง ืชืืฆืจ ืืื.
MicrocosmWorks ืืืืืฆื ืขื Kafka ืืฆืืืชืื ืืืงืืงืื ืืฉืืืืจ ืืืืจ ืืฆืจืื ืื ืืจืืืื (multi-consumer replay), ืชืงืืคืืช ืฉืืืจื ืืจืืืืช ืื ืืืืืช ืืื ืขื ื ืื (cross-cloud portability), ืฉืื ืืืจืืืืงืืืจื ืืืืกืกืช ืืืืื (log-based) ืฉืื ืชืืืืช ืืงืืืฆืืช ืฆืจืื ืื ืืืชื ืืืืืืืช ืืงืืจืืืช ืืืืฉ ืืช ืืืชื ืืจื ื ืชืื ืื ืืืืคื ืขืฆืืื. Kinesis ืืื ืืืืืจื ืืืืื ืืืชืจ ืืืฉืจ ืืชื ืจืืฆืื ืฉืืจืืช ืื ืืื ืืืืืื ืืืฉืชืื ืืืื ืขื ืืขืจืืช ืืืงืืืืืืช ืฉื AWS ืืฆืืจืื ืฉืืืจืช ืื ืชืื ืื ืฉืืื ืื ืคืืืช ื-7 ืืืื ืขื ืคืืืช ื-10 ืืืฉืืื ืฆืจืื. ืื ื ืืขืจืืืื ืืช ืืืจืืฉืืช ืืกืคืฆืืคืืืช ืฉืืื โ ืชืคืืงื (throughput), ืฉืืืจื (retention), ืืคืืกื ืฆืจืื ืื (consumer patterns) ืืืืจืืช ืชืคืขืืืืช (operational maturity) โ ืืืืื ืืขืจืืช ืืืจืืืืงืืืจื ืฉืื ื ืืื ืืชืช ืืช ืืืืืฆื ืื ืืื ื.
MicrocosmWorks ืืืืฉืืช ืกืื ืืืงื ืฉื "ืืืืืง ืคืขื ืืืช" (exactly-once semantics) ืืืืฆืขืืช ืฉืืืื ืฉื ืืคืืงืื ืืืืืคืืื ืืืื (idempotent producers), ืฆืจืื ืื ืืจื ืืงืฆืืื ืืืื ืืฉืืืืช ืืกืจืช ืืคืืืืืืช (deduplication layers) ืืืฉืชืืฉืืช ืืืืืขืืช ืืฆืืข ืฉื ืืืจืืขืื ืืืืืืกื ืืช ืืืืืื ืืืคืืฉ ืืืืจ ืืื Redis. ืขืืืจ ืืขืจืืืช ืืืืกืกืืช Kafka, ืื ื ืื ืฆืืื ืืช ื-API ืืืจื ืืงืฆืืื ืื ืืืืื ื ืฉื Kafka ืืืืฆืข ืืืฉืืจ ืืืืื ืฉื ืงืืืืื ืฆืจืื ืื ืืืชืืืืช ืืคืืงืื, ืืขืื ืฉืขืืืจ ืฆืื ืืจืืช ืกืืจืืืื ื ืืืชืืืื ืืืฉืืช ืื ื ืืืืฉืืื ืืช ืชืื ืืช ื-"ืชืืืช ืืฆืืื" (outbox pattern) ืขื ืืกืจืช ืืคืืืืืืช ืืฆื ืืฆืจืื. ืื ื ืชืืื ืืชืื ื ืื ืฆืจืื ืื ืืืืืช ืืืืืคืืื ืืืื ืืจืฉืช ืืืืืื, ืื ืฉืื ืื ืื ืื ืื ื-"ืืืืืง ืคืขื ืืืช" ื ืืฉื ืืืงืจื ืงืฆื, ืขืืืื ืืืืฉ ืฉื ืืืจืืข ืืคืืง ืืช ืืืชื ืชืืฆืื.
MicrocosmWorks ืืกืคืงืช ืืืจื ืืื ืืืืื ืืงืฆื ืืงืฆื ืฉื 50-200ms ืขืืืจ ืฆืื ืืจืืช ืกืืจืืืื ื ืืืืืืื ืงืืืื (ingestion), ืขืืืื ืืืชืืื ืืืืืจ (sink writing), ืืืฉืจ ื ืืชื ืืืฉืื ืืืืื ืฉื ืคืืืช ื-10ms ืขืืืจ ืขืืืกื ืขืืืื ืคืฉืืืื ืืืชืจ ืฉื ืืขืืจื ืื ืกืื ืื ืืืืฆืขืืช ืืขืืื ืืจื (ืกืืจืืืื ื) ืืืืืจืื ืืื Apache Flink ืื Kafka Streams. ืืืืจืืื ืืขืืงืจืืื ืืชืืจืืื ืืืืืื ืื ืืืจื ืืื ืงืคืืฆืืช ืจืฉืช (network hops), ืชืงืืจื ืฉื ืกืจืืืืืืฆืื (serialization overhead) ืืืืืื ืืชืืื ืืืืืจ (sink write batching), ืฉืืืชื ืื ื ืืืืื ื ืื ืืืชืื ืืืขืืคืืช ืืคืฉืจื ืฉืืื ืืื ืืืืื ืืชืคืืงื (latency-versus-throughput tradeoff). ืืืืื ืชืื ืื ืืืจืืืืงืืืจื ืฉืื ื, ืื ื ืงืืืขืื ืืขืื ืจืืช ืฉืืจืืช (SLOs) ืืคืืจืฉืื ืืืืืื ืขืืืจ ืื ืฉืื ืืฆืื ืืจ ืื ืชืื ืื ืืืื ืื ืืืืืช ืืืืื ืื ืื ืืืืจ ืืขืืงืืื ืืืจ ืืืืื p50, p95 ื-p99 ืืกืืืืช ืืคืจืืืงืฉื.
MicrocosmWorks ืืืืฉืืช ืจืฉืื ืกืืื (schema registries) (ืืืจื ืืื Confluent Schema Registry ืื AWS Glue Schema Registry) ืืืืืคืื ืืืื ืชืืืืืช ืืืืืจ ืืงืืืื (backward and forward compatibility), ืืืืืืืื ืฉืืคืืงืื ืืืืืื ืืคืชื ืืช ืคืืจืืื ืื ืชืื ืื ืฉืืื ืืืื ืืฉืืืจ ืฆืจืื ืื ืงืืืืื. ืื ื ืืฉืชืืฉืื ืืกืจืืืืืืฆืืืช Avro ืื Protobuf ืขื ื ืืืื ืืจืกืืืช ืกืืื ืืคืืจืฉ (explicit schema versioning), ืื ืฉืื ืืืืขื ืืื ืืชืืจืช ืืช ืขืฆืื ืื ืืชื ืช ืืืืืื ืกืจืืืืืืฆืื (deserialized) ืื ืื ืืกืืื ืืฉืชื ืชื ืืื ืฉืืืคืงื. ืฆืื ืืจืืช ื-CI/CD ืฉืื ื ืืืืืื ืืืืงืืช ืชืืืืืช ืกืืื ืืืืืืืืืช ืฉืืืกืืืช ืคืจืืกืืช ืื ืฉืื ืื ืกืืื ืืืฆืข ืขืืื ืืฉืืืจ ืฆืจืื ืื ืืืืจื ืืืจื (downstream consumers).
MicrocosmWorks ืืืืืฆื ืขื ืืื ืืืื 2-3 ืืื ืืกืื ืืขืื ื ืืกืืื ืืืขืจืืืช ืืืืืจืืช, ืืกืืจืืช ืขืืืื ืืจื (ืกืืจืืืื ื) ืืืืืืืฆืืืช ืชืฉืชืืช, ืืื ืืชืืืง ืคืืืคืืจืืช ืกืืจืืืื ื ืืคืจืืืงืฉื ืืืืคื ืืืื. ืขืืืจ ืืืจืืช ืฉืืื ื ืจืืฆืืช ืืื ืืช ืืืืืืืช ืื ืืืืคื ืคื ืืื, ืื ื ืืฆืืขืื ืชืืืื ืื ืืืืช ืืคืืืคืืจืืช ืกืืจืืืื ื ืืขืืืช ืฉื 15$-40$/ืฉืขื, ืฉืื ืืฆืืืช ืฉืื ื ืืืคื ืืคืขืืืืช ืืฉืืื (cluster operations), ืืืื ืื ืืืฆืืขืื (performance tuning) ืืชืืืื ืืืืจืืขืื (incident response), ืืขืื ืฉืืืคืชืืื ืฉืืื ืืชืืงืืื ืืื ืืืช ืืืฉืืื ืขืืืื ืืจื (ืกืืจืืืื ื). ืื ื ืืกืคืงืื ืื ืชืืื ืืืช ืืืจืื ืืืฉืืจืืืช ืืช ืืืฉืืจื ืฆืืืช ืืื ืืกื ืืงืืื ืฉืืื ืขื ืคืขืืืืช Kafka, Flink ืื Kinesis, ืืืกืืจืช ืืชืงืฉืจืืืืช ืฉื 4-8 ืฉืืืขืืช.