Batch ืืื ืืงืจื ืืืืื ืฉื ืกืืจืืืื ื. ืืืฉืจ ืืขืกืง ืฉืื ืฆืจืื ืืืืื ืืฉื ืืืช ืืืงืื ืฉืขืืช, ืืชื ืืงืืง ืืืจืืืืงืืืจื ืฉื ืื ืชื ืืืจืืืช ื ืชืื ืื ืืชืืฉืืช.

ืืืืืช ืืืืืื ืื ืฉืื ืืืืฉื ืื ืขื ืฉืืืฉืื ืืกืชืื ืขืืืื. ืืืืื ืืื ืืืช ืืชืืฆืข ืืขืืืืช batch ืืืืืช, ืืืืชืจ ืืื ืืืช ืืืืงืจ ืืื. ืกืคืืจืช ืืืืื ืืชืขืืื ืช ืื ืฉืขื, ืื ืฉืืืจื ืืืืืจืช ืืชืจ. ื ืชืื ื ืืืืฉื ืื ื ืืกืคืื ืื ืื ืืืคืขืืื ืขื ืฉืื ืื ืืชืืื ื-ETL ืืืื. ืืชื ืฆืจืื ืืขืจืืช ืฉืื ืื ืชืื ืื ืืืจืืื ืืจืฆืืคืืช ืืืงืืจืืช, ืืจื ืขืืืื, ืืฆืจืื ืื ืขื ืืฉืืื ืฉื ืชืช-ืฉื ืืื โ ืื ืืืืืงื ืืืื ืืืช, ืืชืจืืืช ืืืืช, ืืกืงืช AI ืืกืืจืืืื ื, ืืกื ืืจืื ืืืืื ืืื ืืขืจืืืช.
Explore more design patterns and system architectures
ืืืจืืืืื ืฉืื ื ืืืืืื ืืขืืืจ ืื ืืขืฆื ืืืื ืืช ืืขืจืืืช ืชืื ืฉืืืืฉ ืืืคืืก ืื ืืืจืืฉืืช ืืกืคืฆืืคืืืช ืฉืื.
ืฆืจื ืงืฉืจืืจืืืืงืืืจืช ืกืืจืืืื ื ืืืื ืืืช ืืขืืืช ื ืชืื ืื ืืืจืืื ืืชืืฉืืช ืืืืชื ืืืืืืช ืืืงืื ืืืฆืืืช ื ืคืจืืืช. ืืฆืจื ื ืืืจืืขืื ืืคืจืกืืื ืืคืืืคืืจืืช ืกืืจืืืื ื (Kafka, Kinesis, Pulsar). ืืขืืื ืกืืจืื (Flink, Kafka Streams, ืฆืจืื ืื ืืืชืืืื ืืืฉืืช) ืืฉื ืื, ืืขืฉืืจืื, ืืกื ื ืื ืืืืืืื ืืืจืืขืื ืชืื ืืื ืชื ืืขื. ืชืืฆืืืช ืืขืืืืืช ื ืืืคืืช ืืฆืจืื ืื: ืืืืืช ืืืืื ืื ืืืื ืืืช (WebSocket), ืืื ืืงืกื ืืืคืืฉ (Elasticsearch), ืืืืจื ื ืชืื ืื ืื ืืืืืื (ClickHouse), ืืฉืืจืืชืื ืืืืจื ืืืจื. Change Data Capture (CDC) ืืืคืฉืจ ืืืืืจื ื ืชืื ืื ืงืืืืื ืืืฉืชืชืฃ ืืืงืืจืืช ืืืจืืขืื ืืื ืฉืื ืืืื ืืืืฉืื.
ืืืจืืืืงืืืจื ืืฉ ืืจืืข ืฉืืืืช. ืืงืืจืืช ืืืจืืขืื ืืืืฆืจืื ื ืชืื ืื โ ืืืจืืขื ืืืฉืื, ืืจืื CDC ืฉื ืืืืจื ื ืชืื ืื, ืืืืืจืืืช IoT, ืืจืื ืงืืืงืื ืฉื ืืฉืชืืฉืื, webhooks ืฉื API ืืืฆืื ืืื. ืคืืืคืืจืืช ืืกืืจืืืื ื (Kafka) ืืกืคืงืช ืืืกืื ืืืจืืขืื ืขืืื, ืืกืืืจ ืื ืืชื ืืืคืขืื ืืืืฉ. ืืขืืื ืกืืจืื ืฆืืจืืื ืื ืืฉืืื, ืืืืฉืืื ืืจื ืกืคืืจืืฆืืืช (ืกืื ืื, ืืขืฉืจื, ืฆืืืจื ืืืื ืืช, ืืฆืืจืคืืืืช), ืืืคืืงืื ืื ืืฉืื ืคืื ืื ืืืืจืื. ืฆืจืื ืื ืื ืืืื ืืืจืืื ืืขืืืืื โ ืฉืจืชื WebSocket ืืืืคืื ืืืคืืคื ืื, ืืืืจืื ืฉืืงืขืื ืืืืืจื ื ืชืื ืื, ืื ืืขื ืืชืจืื ืืขืจืืืื ืืืงืื ืืืคืขืืืื ืืชืจืืืช.
| ืฉืืื | ืืื ืืืืืืืช |
|---|---|
| ืกืืจืืืื ื | Apache Kafka (MSK, Confluent), Kinesis, Apache Pulsar, Redpanda |
| CDC | Debezium, AWS DMS, Maxwell |
| ืขืืืื | Apache Flink, Kafka Streams, Benthos, ืฆืจืื ืื ืืืชืืืื ืืืฉืืช |
| ืืกืืจื ืืืื ืืืช | WebSocket (Socket.io), SSE, ืื ืืืื ืฉื GraphQL |
| ืื ืืืืืงื | ClickHouse, Apache Druid, Elasticsearch, TimescaleDB |
| ืชืฆืคืืชืืืช | ื ืืืืจ ืืฉืืืืช Kafka (Burrow), ืืืื Flink, ืืขืงื ืืฉืืื ืืืชืื ืืืฉืืช |
| ืืชื ืืืฉืชืืฉ | ืืชื ืืืืื ืข |
|---|---|
| ืืืืืืช ืขืกืงืืืช ืฆืจืืืืช ืจืขื ื ืืช ื ืชืื ืื ืืชืช-ืฉื ืืื (ืืื ืื, ื ืืืืจ, ืืกืืจ) | ืขืืืื batch ืขื ืจืขื ื ืืช ืฉืขืชืืช/ืืืืืช ืขืื ื ืขื ืืฆืืจื ืืขืกืงื |
| ืืกืคืจ ืฆืจืื ืื ืฆืจืืืื ืืช ืืืชื ืืจื ืืืจืืขืื (fan-out, ืืขืจืืืช ืื ืืชืงืืช) | ืืฉ ืื ืืฆืจื ืืืื ืืฆืจืื ืืืื โ ืชืืจ ืคืฉืื ืืกืคืืง |
| ืืชื ืฆืจืื ืืคืขืืช ืืืจืืขืื ืืืืฉ ืืฆืืจื ื ืืคืื ืืืืื, ืขืืืื ืืืืฉ ืื ืื ืืืช ืฆืจืื ืื ืืืฉืื | ื ืคื ืื ืชืื ืื ื ืืื (< 1K ืืืจืืขืื/ืืงื) ืืื ืืฆืืืง ืชืฉืชืืช ืกืืจืืืื ื |
| CDC ื ืืจืฉ ืืกื ืืจืื ืืืืจื ื ืชืื ืื ืงืืืืื ืืืขืจืืืช ืืืืจื ืืืจื ืืื ืฉืื ืืืื ืืงืื | ืืฆืืืช ืืกืจ ื ืืกืืื ืขื ืืขืจืืืช ืืืืืจืืช โ ืกืืจืืืื ื ืืืกืืฃ ืืืจืืืืช ืชืคืขืืืืช ืืฉืืขืืชืืช |
MW ืืขืฆืืช ืืขืจืืืช ืกืืจืืืื ื ืขื "ืขืงืจืื ืืืคืขืื ืืืืฉ" โ ืื ืืจื ืฆืจืื ืืืืืช ื ืืชื ืืืคืขืื ืืืืฉ ืื ืงืืืช ืืื, ืื ืฉืืืคืฉืจ ืืฆืจืื ืื ืืืฉืื ืืืื ื ืชืื ืื ืืืกืืืจืืื ืืืฆืจืื ืื ืงืืืืื ืืขืื ืืืืฉ ืืืืจ ืชืืงืื ื ืืืืื. ืืคืจืืกืืช ืฉื Kafka ืฉืื ื ืืืืืืช ืืืื ืืืช ืืชืคืชืืืช ืกืืืืช (ืชืืืืืช ืืืืืจ ืืืจืืจืช ืืืื), ืืชืจืืืช ืขื ืืฉืืืืช ืฆืจืื ืื (ืืคื ื ืฉืื ืืืคื ืืขืืืื ืืืื ืืขืกืง), ืื ืืฉืื dead-letter ืขื ื ืืกืืื ืืืืจ ืืืืืืื. ืื ืื ื ืฆืื ืืจืืช ืกืืจืืืื ื ืืืขืืืื 500K+ ืืืจืืขืื/ืฉื ืืื ืขืืืจ ืื ืืืืืงืช ืืืืื, ืืืืืจืืืช IoT ืืืืืืช ืืืืื ืื ืืืื ืืืช.
ืืืืืื ืื ืืจืืฆืื ืืช ืขืฆืื. ื-Pipeline ืฉืืืฉืืจ, ืืืืช, ืคืืจืก ืืื ืืจ ืืช ืืืืืืื ืฉืื ืืื ืืืืฆืจ ืืืืืชื โ ืืืืื ืืื ืจืง ืชืืฆืจ ืืื.
MicrocosmWorks ืืืืืฆื ืขื Kafka ืืฆืืืชืื ืืืงืืงืื ืืืคืขืื ืืืืจืช ืืจืืืช ืฆืจืื ืื (multi-consumer replay), ืชืงืืคืืช ืฉืืืจื ืืจืืืืช (long retention periods) ืื ืืืืืช ืืื ืขื ื ืื (cross-cloud portability), ืืืืืื ืฉืืืจืืืืงืืืจื ืืืืกืกืช-ืืืื (log-based architecture) ืฉืื ืชืืืืช ืืงืืืฆืืช ืฆืจืื ืื (consumer groups) ืืืชื ืืืืืืืช ืืงืืจืืืช ืืืืฉ ืืช ืืืชื ืืจื ื ืชืื ืื (data stream) ืืืืคื ืขืฆืืื. Kinesis ืืื ืืืืืจื ืืืืื ืืืชืจ ืืืฉืจ ืืชื ืจืืฆืื ืฉืืจืืช ืื ืืื ืืืืืื (fully managed service) ืืืฉืืื ืืืื ืขื ืืืขืจืืช ืืืงืืืืืืช (ecosystem) ืฉื AWS ืืฆืจืื ืฉืืืจืช ืื ืชืื ืื ืฉืืื ืื ืคืืืช ื-7 ืืืื ืขื ืคืืืช ื-10 ืืืฉืืื ืฆืจืื (consumer applications). ืื ื ืืขืจืืืื ืืช ืืืจืืฉืืช ืืกืคืฆืืคืืืช ืฉืืืโthroughput, retention, consumer patterns ื-operational maturityโืืืืื ืืขืจืืช ืืืจืืืืงืืืจื (architecture assessment) ืฉืื ื ืืื ืืืืืข ืืืืืฆื ืื ืืื ื.
MicrocosmWorks ืืืืฉืืช ืกืื ืืืงืช `exactly-once` ืืืืฆืขืืช ืฉืืืื ืฉื ืืคืืงืื ืืืืืคืืื ืืืื, ืฆืจืื ืื ืืจื ืืงืฆืืื ืืื ืืฉืืืืช ืืืืื ืืคืืืืืืช, ืืืฉืชืืฉืืช ื'ืืืืขืืช ืืฆืืข' ืฉื ืืืจืืขืื ืืืืืืกื ืืช ืืืืืื ืืืคืืฉ ืืืืจ ืืื Redis. ืขืืืจ ืืขืจืืืช ืืืืกืกืืช Kafka, ืื ื ืืื ืคืื ืืช ื-API ืืืจื ืืงืฆืืื ื ืืืืื ื ืฉื Kafka, ืืืืฆืข `commit` ืืืืื ื-`offsets` ืฉื ืืฆืจืื ืื ืืืืชืืืืช ืฉื ืืืคืืงืื. ืืขืื ืฉืขืืืจ `streaming pipelines` ืืืชืืืื ืืืฉืืช, ืื ื ืืืืฉืืื ืืช ื-`outbox pattern` ืขื ืืืืื ืืคืืืืืืช ืืฆื ืืฆืจืื. ืื ื ืชืืื ืืชืื ื ืื ืืช ืืฆืจืื ืื ืืืืืช ืืืืืคืืื ืืืื ืืจืฉืช ืืืืืื, ืื ืฉืื ืื ืื ืื ืื ื-`exactly-once` ื ืืฉื ืืืงืจื ืงืฆื, ืขืืืื ืืืืฉ ืฉื ืืืจืืข ืืคืืง ืืช ืืืชื ืชืืฆืื.
MicrocosmWorks ืืืจื ืืื ืืกืคืงืช ืืฉืืืืช (latencies) ืืงืฆื ืืงืฆื ืฉื 50-200ms ืขืืืจ streaming pipelines ืืืืืืื ingestion, processing ื-sink writing, ืืืฉืจ ืืฉืืื ืฉื ืคืืืช ื-10ms ื ืืชื ืช ืืืฉืื ืขืืืจ ืขืืืกื ืขืืืื ืคืฉืืืื ืืืชืจ ืฉื passthrough ืื filtering ืืืฉืชืืฉืื ื-in-memory stream processors ืืื Apache Flink ืื Kafka Streams. ืืืืจืืื ืืขืืงืจืืื ืืชืืจืืื ืืืฉืืื (latency) ืื ืืืจื ืืื network hops, serialization overhead ื-sink write batching, ืฉืืืชื ืื ื ืืืืืืื ืืืชืืกืก ืขื ืืขืืคืืชืืื ืืืื ืืืืื (tradeoff) ืืื latency ื-throughput. ืืืืื ืชืื ืื ืืืจืืืืงืืืจื ืฉืื ื, ืื ื ืงืืืขืื SLOs ืืคืืจืฉืื ื-latency ืขืืืจ ืื ืฉืื ื-pipeline ืืืึนื ืื ืืืืืช ืืืืื ืื ืื ืืืืจ ืืขืืงืืื ืืืจ latencies p50, p95 ื-p99 ืืกืืืืช production.
MicrocosmWorks ืืืืฉืืช ืจืืืกืืจื ืกืืืืช (ืืืจื ืืื Confluent Schema Registry ืื AWS Glue Schema Registry) ืฉืืืืคืื ืืืื ืชืืืืืช ืืืืืจ ืืงืืืื, ืืืืืืืื ืฉืืฆืจื ืื ืืืืืื ืืคืชื ืืช ืคืืจืืื ืื ืชืื ืื ืฉืืื ืืืื ืืฉืืืจ ืฆืจืื ืื ืงืืืืื. ืื ื ืืฉืชืืฉืื ืืกืจืืืืืืฆืื ืฉื Avro ืื Protobuf ืขื ืืงืจืช ืืจืกืืืช ืกืืื ืืคืืจืฉืช, ืื ืฉืื ืืืืขื ืืชืืจืช ืืช ืขืฆืื ืื ืืชื ืืืฆืข ืื ืื-ืกืจืืืืืืฆืื ืื ืื ืืกืืื ืืฉืชื ืชื ืืื ืฉื ืืฆืจื. ืงืืื ื-CI/CD ืฉืื ื ืืืืืื ืืืืงืืช ืชืืืืืช ืกืืื ืืืืืืืืืช ืฉืืืกืืืช ืคืจืืกืืช ืื ืฉืื ืื ืกืืื ืืืฆืข ืืฉืืืจ ืฆืจืื ืื ืืืืจื ืืืจื.
MicrocosmWorks ืืืืืฆื ืขื ืืื ืืืื ืฉื 2-3 ืืื ืืกืื ืขื ื ืืกืืื ื-distributed systems, stream processing frameworks, ื-infrastructure automation ืืื ืืชืืืง production streaming platform ืืืืคื ืืืื. ืืืืจืืช ืฉืืื ื ืืขืื ืืื ืืช ืืื ืืช ืืืืืืืช ืื in-house, ืื ื ืืฆืืขืื ืชืืืืช managed streaming platform ืืืืืจ ืฉื 15-40$ ืืฉืขื, ืืืฉืจ ืืฆืืืช ืฉืื ื ืืืคื ื-cluster operations, performance tuning, ื-incident response, ืืขืื ืืืคืชืืื ืฉืืื ืืชืืงืืื ืืื ืืืช stream processing applications. ืื ื ืืกืคืงืื ืื ืชืืื ืืืช ืืืฉืจื ืฉืืฉืืจืืืช ืืช ืฆืืืช ืืื ืืกื ืืงืืื ืฉืืื ืขื Kafka, Flink, ืื Kinesis operations ืืืืื ืืชืงืฉืจืืืืช ืฉื 4-8 ืฉืืืขืืช.