MicrocosmWorks๋””์ง€ํ„ธ ์ฝ”์Šค๋ชจ์Šค ํ˜์‹  ๋ฐ ์„ค๊ณ„
์†Œ๊ฐœ์—ฐ๋ฝ์ฒ˜
MicrocosmWorks๋””์ง€ํ„ธ ์ฝ”์Šค๋ชจ์Šค๋ฅผ ํ˜์‹ ํ•˜๊ณ  ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค

์ค‘์š”ํ•œ IT ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์ˆ , ๋ณด์•ˆ์— ์—ด์ •์ ์ด๋ฉฐ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ํ˜์‹ ์ ์ธ IT ์ธํ”„๋ผ๋ฅผ ํ†ตํ•ด ๋น„์ฆˆ๋‹ˆ์Šค ์„ฑ์žฅ์„ ๋•์Šต๋‹ˆ๋‹ค.

[email protected]
+91 7011868196
New Delhi, India

AI ์„ฑ์žฅ ํ—ˆ๋ธŒ

AI ํ—ˆ๋ธŒ์Šคํƒ€ํŠธ์—… ํ˜์‹ ๊ธฐ์—… ๊ฐ€์†๊ธฐ

์†”๋ฃจ์…˜

๋ชจ๋“  ์†”๋ฃจ์…˜์›ฐ๋‹ˆ์Šค ๋ฐ ํ”ผํŠธ๋‹ˆ์Šค ์•ฑAI ๋น„๋””์˜ค ํ”Œ๋žซํผAI ์—์ด์ „ํŠธ ๊ฐœ๋ฐœ

์ž์›

ํ†ต์ฐฐ๋ ฅ์‚ฐ์—… ๊ฐ€์ด๋“œ์‚ฌ์šฉ ์‚ฌ๋ก€ ์ฒญ์‚ฌ์ง„์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์‚ฌ๋ก€ ์—ฐ๊ตฌ

ํšŒ์‚ฌ

ํšŒ์‚ฌ ์†Œ๊ฐœ์—ฐ๋ฝ์ฒ˜์šฐ๋ฆฌ์˜ ์ž‘์—…

์„œ๋น„์Šค

๋””์ง€ํ„ธ ์ปจ์„คํŒ…ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผSaaS ๊ฐœ๋ฐœAI ๊ฐœ๋ฐœ๋น„๋””์˜ค ๊ธฐ์ˆ 
ERP ๊ฐœ๋ฐœZoho ๋งž์ถคํ™”Odoo ๊ฐœ๋ฐœSalesforce ํ†ตํ•ฉ๋งž์ถคํ˜• CRM ๊ฐœ๋ฐœ
QuickBooks ํ†ตํ•ฉIoT ์†”๋ฃจ์…˜๋ธ”๋ก์ฒด์ธ ๊ฐœ๋ฐœ
์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ ์ปจ์„คํŒ…IT ์ง€์› - L3

ยฉ 2026 MicrocosmWorks. ๋ชจ๋“  ๊ถŒ๋ฆฌ ๋ณด์œ .

๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ๋ฐฉ์นจ์„œ๋น„์Šค ์•ฝ๊ด€
์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
DataEnterprise

์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ ์‹œ์Šคํ…œ

๋ฐฐ์น˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ์˜ ํŠน์ˆ˜ํ•œ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ๋น„์ฆˆ๋‹ˆ์Šค์—์„œ ๋ช‡ ์‹œ๊ฐ„ ๋Œ€์‹  ๋ช‡ ์ดˆ ๋งŒ์— ๋ฐ˜์‘ํ•ด์•ผ ํ•  ๋•Œ, ์ง€์†์ ์ธ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์œ„ํ•ด ๊ตฌ์ถ•๋œ ์•„ํ‚คํ…์ฒ˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

June 18, 2026
|
3 topics covered
์ด ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•ด ๋…ผ์˜ํ•˜์„ธ์š”
real-time-streaming-systems.webp
Data
Category
Enterprise
Complexity
๊ธˆ์œต ์„œ๋น„์Šค, ๋ฌผ๋ฅ˜
Industries
3+
Technologies

์ด ์‹œ์Šคํ…œ์ด ํ•„์š”ํ•  ๋•Œ

๋ˆ„๊ตฐ๊ฐ€ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋ณผ ๋•Œ์ฏค์ด๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์ด๋ฏธ ์˜ค๋ž˜๋ฉ๋‹ˆ๋‹ค. ์‚ฌ๊ธฐ ํƒ์ง€๋Š” ์•ผ๊ฐ„ ๋ฐฐ์น˜ ์ž‘์—…์œผ๋กœ ์‹คํ–‰๋˜์–ด ๋‹ค์Œ๋‚  ์•„์นจ์—์•ผ ์‚ฌ๊ธฐ๋ฅผ ์žก์•„๋ƒ…๋‹ˆ๋‹ค. ์žฌ๊ณ ๋Š” ์‹œ๊ฐ„ ๋‹จ์œ„๋กœ ์—…๋ฐ์ดํŠธ๋˜์–ด ์ดˆ๊ณผ ํŒ๋งค๋ฅผ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ์„ผ์„œ ๋ฐ์ดํ„ฐ๋Š” ์ˆ˜์ง‘๋˜์ง€๋งŒ, ์•ผ๊ฐ„ ETL์—์„œ ๋ถ„์„๋˜๊ธฐ ์ „๊นŒ์ง€๋Š” ์กฐ์น˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹ค์‹œ๊ฐ„ ๋ถ„์„, ๋ผ์ด๋ธŒ ์•Œ๋ฆผ, ์ŠคํŠธ๋ฆฌ๋ฐ AI ์ถ”๋ก , ์‹œ์Šคํ…œ ๊ฐ„ ์ฆ‰๊ฐ์ ์ธ ๋™๊ธฐํ™”์™€ ๊ฐ™์ด ๋ฐ์ดํ„ฐ๊ฐ€ ์†Œ์Šค์—์„œ ์ฒ˜๋ฆฌ ๊ณผ์ •์„ ๊ฑฐ์ณ ์†Œ๋น„์ž์—๊ฒŒ๊นŒ์ง€ ์„œ๋ธŒ์„ธ์ปจ๋“œ(sub-second) ์ง€์—ฐ ์‹œ๊ฐ„์œผ๋กœ ์ง€์†์ ์œผ๋กœ ํ๋ฅด๋Š” ์‹œ์Šคํ…œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํŒจํ„ด ๊ฐœ์š”

Related Architecture Patterns

Explore more design patterns and system architectures

data-intensive-platform-architecture.webp
Data

๋ฐ์ดํ„ฐ ์ง‘์•ฝ์  ํ”Œ๋žซํผ ์•„ํ‚คํ…์ฒ˜

๊ฒฝ์Ÿ ์šฐ์œ„๊ฐ€ ๋ฐ์ดํ„ฐ์— ์žˆ์„ ๋•Œ, ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ , ๋ณ€ํ™˜ํ•˜๊ณ , ์ €์žฅํ•˜๋ฉฐ, ์‹œ๊ฐํ™”ํ•˜๋Š” ํ”Œ๋žซํผ์€ ๋‹น์‹ ์ด ๊ตฌ์ถ•ํ•  ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์š”์†Œ๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

EnterpriseView
multi-tenant-saas-architecture.webp

์ด ์•„ํ‚คํ…์ฒ˜ ๊ตฌํ˜„์— ๋„์›€์ด ํ•„์š”ํ•˜์‹ ๊ฐ€์š”?

์šฐ๋ฆฌ์˜ ์•„ํ‚คํ…ํŠธ๋“ค์€ ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์— ๋งž๊ฒŒ ์ด ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ๋„์›€์„ ๋“œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฐ๋ฝํ•˜๊ธฐ

์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ ์•„ํ‚คํ…์ฒ˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐœ๋ณ„์ ์ธ ๋ฐฐ์น˜(batch)๊ฐ€ ์•„๋‹Œ ์ง€์†์ ์ด๊ณ  ๋ฌดํ•œํ•œ ํ๋ฆ„์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒคํŠธ ์ƒ์‚ฐ์ž๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ํ”Œ๋žซํผ(Kafka, Kinesis, Pulsar)์— ์ด๋ฒคํŠธ๋ฅผ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆผ ํ”„๋กœ์„ธ์„œ(Flink, Kafka Streams, custom consumers)๋Š” ์ด๋ฒคํŠธ๊ฐ€ ์ด๋™ ์ค‘์— ๋ณ€ํ™˜, ๋ณด๊ฐ•, ํ•„ํ„ฐ๋ง ๋ฐ ์ง‘๊ณ„ํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜๋ฆฌ๋œ ๊ฒฐ๊ณผ๋Š” ์‹ค์‹œ๊ฐ„ ๋Œ€์‹œ๋ณด๋“œ(WebSocket), ๊ฒ€์ƒ‰ ์ธ๋ฑ์Šค(Elasticsearch), ๋ถ„์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(ClickHouse) ๋ฐ ๋‹ค์šด์ŠคํŠธ๋ฆผ ์„œ๋น„์Šค์™€ ๊ฐ™์€ ์†Œ๋น„์ž์—๊ฒŒ ํ‘ธ์‹œ๋ฉ๋‹ˆ๋‹ค. Change Data Capture (CDC)๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณ€๊ฒฝ ์—†์ด ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ด๋ฒคํŠธ ์†Œ์Šค๋กœ ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ์กฐ ์•„ํ‚คํ…์ฒ˜

์•„ํ‚คํ…์ฒ˜๋Š” ๋„ค ๊ฐœ์˜ ๊ณ„์ธต์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฒคํŠธ ์†Œ์Šค๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ด๋ฒคํŠธ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค CDC ์ŠคํŠธ๋ฆผ, IoT ์›๊ฒฉ ์ธก์ •, ์‚ฌ์šฉ์ž ํด๋ฆญ ์ŠคํŠธ๋ฆผ, ์™ธ๋ถ€ API ์›นํ›…๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆฌ๋ฐ ํ”Œ๋žซํผ(Kafka)์€ ๋‚ด๊ตฌ์„ฑ์ด ์žˆ๊ณ  ์ •๋ ฌ๋˜๋ฉฐ ์žฌ์ƒ ๊ฐ€๋Šฅํ•œ ์ด๋ฒคํŠธ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆผ ํ”„๋กœ์„ธ์„œ๋Š” ํ† ํ”ฝ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์†Œ๋น„ํ•˜๊ณ , ๋ณ€ํ™˜(ํ•„ํ„ฐ๋ง, ๋ณด๊ฐ•, ์œˆ๋„์šฐ ์ง‘๊ณ„, ์กฐ์ธ)์„ ์ ์šฉํ•˜๋ฉฐ, ์ถœ๋ ฅ ํ† ํ”ฝ ๋˜๋Š” ์‹ฑํฌ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์†Œ๋น„์ž๋Š” ์ฒ˜๋ฆฌ๋œ ์ŠคํŠธ๋ฆผ์„ ๊ตฌ๋…ํ•ฉ๋‹ˆ๋‹ค. WebSocket ์„œ๋ฒ„๋Š” ๋ธŒ๋ผ์šฐ์ €๋กœ ํ‘ธ์‹œํ•˜๊ณ , ์ปค๋„ฅํ„ฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์‹ฑํฌํ•˜๋ฉฐ, ์•Œ๋ฆผ ์—”์ง„์€ ๊ทœ์น™์„ ํ‰๊ฐ€ํ•˜๊ณ  ์•Œ๋ฆผ์„ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ
  • ์ŠคํŠธ๋ฆฌ๋ฐ ํ”Œ๋žซํผ (Kafka): ์ด๋ฒคํŠธ ์œ ํ˜•๋ณ„ ํ† ํ”ฝ์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋‹ค์ค‘ ๋ธŒ๋กœ์ปค ํด๋Ÿฌ์Šคํ„ฐ. ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ํŒŒํ‹ฐ์…˜ํ™”๋จ(์ •๋ ฌ ๋ณด์žฅ์„ ์œ„ํ•œ ํŒŒํ‹ฐ์…˜ ํ‚ค = ์—”ํ„ฐํ‹ฐ ID). ํ† ํ”ฝ๋ณ„ ๋ณด์กด ๊ธฐ๊ฐ„ ๊ตฌ์„ฑ โ€” ์šด์˜ ์ด๋ฒคํŠธ๋Š” 7์ผ, ๊ฐ์‚ฌ/์žฌ์ƒ์šฉ์€ 30์ผ ์ด์ƒ. Schema Registry (Confluent ๋˜๋Š” Apicurio)๋Š” ์ƒ์‚ฐ์ž์™€ ์†Œ๋น„์ž ๊ฐ„์˜ ์ด๋ฒคํŠธ ์Šคํ‚ค๋งˆ ํ˜ธํ™˜์„ฑ์„ ๊ฐ•์ œํ•ฉ๋‹ˆ๋‹ค.
  • Change Data Capture: Debezium ์ปค๋„ฅํ„ฐ๋Š” PostgreSQL, MySQL ๋˜๋Š” MongoDB์—์„œ ํ–‰ ์ˆ˜์ค€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์บก์ฒ˜ํ•˜์—ฌ Kafka์— ์ด๋ฒคํŠธ๋กœ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ  ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ด๋ฒคํŠธ ์†Œ์Šค๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋กœ์˜ ์ ์ง„์  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์— ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.
  • ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ ์—”์ง„: ๋ณต์žกํ•œ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ(์œˆ๋„์šฐ ์ง‘๊ณ„, ์ŠคํŠธ๋ฆผ-์ŠคํŠธ๋ฆผ ์กฐ์ธ, ํŒจํ„ด ๊ฐ์ง€)๋ฅผ ์œ„ํ•œ Apache Flink. ๋ณ„๋„์˜ ์ฒ˜๋ฆฌ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ํ•„์š” ์—†๋Š” ๊ฐ„๋‹จํ•œ ๋ณ€ํ™˜์„ ์œ„ํ•œ Kafka Streams. ๊ฒฝ๋Ÿ‰ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์ •์˜ Node.js/Python ์†Œ๋น„์ž.
  • ์‹ค์‹œ๊ฐ„ ์ „๋‹ฌ: ๋ธŒ๋ผ์šฐ์ € ํด๋ผ์ด์–ธํŠธ์— ๋ผ์ด๋ธŒ ์—…๋ฐ์ดํŠธ๋ฅผ ํ‘ธ์‹œํ•˜๊ธฐ ์œ„ํ•œ WebSocket ์„œ๋ฒ„(Socket.io, native WS). ๋‹จ๋ฐฉํ–ฅ ์ŠคํŠธ๋ฆฌ๋ฐ์„ ์œ„ํ•œ Server-Sent Events (SSE). ํƒ€์ž… ์•ˆ์ „(type-safe) ์‹ค์‹œ๊ฐ„ ์ฟผ๋ฆฌ๋ฅผ ์œ„ํ•œ GraphQL Subscriptions. ์ƒ์‚ฐ์ž ์ฒ˜๋ฆฌ๋Ÿ‰๊ณผ ์†Œ๋น„์ž ์—ฐ๊ฒฐ ์ˆ˜๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ํŒฌ์•„์›ƒ(fan-out) ์•„ํ‚คํ…์ฒ˜.

์„ค๊ณ„ ๊ฒฐ์ • ๋ฐ ์ ˆ์ถฉ์ 

Kafka vs. Kinesis vs. Pulsar
๊ฐ€์žฅ ์„ฑ์ˆ™ํ•œ ์ƒํƒœ๊ณ„, ์ตœ๊ณ ์˜ ์ฒ˜๋ฆฌ๋Ÿ‰, ๊ทธ๋ฆฌ๊ณ  ์™„์ „ํ•œ ์ œ์–ด(์ž์ฒด ๊ด€๋ฆฌ ๋˜๋Š” Confluent Cloud)๊ฐ€ ํ•„์š”ํ•œ ํŒ€์—๊ฒŒ๋Š” Kafka๊ฐ€ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋‚ฎ์€ ์ฒ˜๋ฆฌ๋Ÿ‰ ์š”๊ตฌ ์‚ฌํ•ญ์œผ๋กœ ์šด์˜ ๋ถ€๋‹ด์ด ์—†๋Š” AWS-native ํŒ€์—๊ฒŒ๋Š” Kinesis๊ฐ€ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๊ณ„์ธตํ˜• ์Šคํ† ๋ฆฌ์ง€์™€ ์ง€๋ฆฌ์  ๋ณต์ œ๊ฐ€ ๋‚ด์žฅ๋œ ๋ฉ€ํ‹ฐํ…Œ๋„ŒํŠธ ์ŠคํŠธ๋ฆฌ๋ฐ์—๋Š” Pulsar๊ฐ€ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. MW๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ŠคํŠธ๋ฆฌ๋ฐ ์•„ํ‚คํ…์ฒ˜์—์„œ Kafka (MSK ๋˜๋Š” Confluent Cloud)๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ปค๋„ฅํ„ฐ, ๋„๊ตฌ ๋ฐ ์šด์˜ ์ง€์‹ ์ƒํƒœ๊ณ„๋Š” ํƒ€์˜ ์ถ”์ข…์„ ๋ถˆํ—ˆํ•ฉ๋‹ˆ๋‹ค.
Flink vs. Kafka Streams vs. Custom Consumers
๋ณต์žกํ•œ ์ŠคํŠธ๋ฆฌ๋ฐ ๋กœ์ง(์œˆ๋„์šฐ ์ง‘๊ณ„, ์ŠคํŠธ๋ฆผ ์กฐ์ธ, CEP(๋ณตํ•ฉ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ), exactly-once semantics)์—๋Š” Flink๊ฐ€ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜๋ฆฌ๊ฐ€ ๋” ๊ฐ„๋‹จํ•˜๊ณ  ๋ณ„๋„์˜ Flink ํด๋Ÿฌ์Šคํ„ฐ ์‹คํ–‰์„ ํ”ผํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” Kafka Streams๊ฐ€ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ ๊ธฐ๋ณธ ์š”์†Œ๊ฐ€ ํ•„์š” ์—†๋Š” ๊ฐ„๋‹จํ•œ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ์—๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ์†Œ๋น„์ž(Node.js, Python)๊ฐ€ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. MW๋Š” ๋ถ„์„ ์ค‘์‹ฌ ํŒŒ์ดํ”„๋ผ์ธ์—๋Š” Flink๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ํ†ต์‹ ์—๋Š” Kafka Streams ๋˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ์†Œ๋น„์ž๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
Exactly-Once vs. At-Least-Once
Exactly-once semantics (Kafka ํŠธ๋žœ์žญ์…˜ + Flink ์ฒดํฌํฌ์ธํŠธ)๋Š” ์ค‘๋ณต์ด ์—†์Œ์„ ๋ณด์žฅํ•˜์ง€๋งŒ, ์ง€์—ฐ ์‹œ๊ฐ„๊ณผ ๋ณต์žก์„ฑ์„ ์ฆ๊ฐ€์‹œํ‚ต๋‹ˆ๋‹ค. ๋ฉฑ๋“ฑ์„ฑ(idempotent) ์†Œ๋น„์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” at-least-once๋Š” ๋” ๊ฐ„๋‹จํ•˜๊ณ  ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๋™์ผํ•œ ์ด๋ฒคํŠธ๋ฅผ ๋‘ ๋ฒˆ ์ฒ˜๋ฆฌํ•ด๋„ ๋™์ผํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค๋ฉด exactly-once๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. MW๋Š” ๋ฉฑ๋“ฑ์„ฑ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” at-least-once๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ํ•˜๋ฉฐ, ์ค‘๋ณต์ด ๊ธˆ์ „์  ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ธˆ์œต ๊ฑฐ๋ž˜ ๋ฐ ์ฒญ๊ตฌ ์ด๋ฒคํŠธ์— ๋Œ€ํ•ด์„œ๋งŒ exactly-once๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
WebSocket ํ™•์žฅ์„ฑ
๊ฐ WebSocket ์—ฐ๊ฒฐ์€ ์˜๊ตฌ์ ์ธ TCP ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๋ฏ€๋กœ, ๋‹จ์ผ ์„œ๋ฒ„๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ผ์ด์–ธํŠธ ์ˆ˜๋ฅผ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค(~์„œ๋ฒ„๋‹น 50K-100K ์—ฐ๊ฒฐ). MW๋Š” WebSocket ์ „๋‹ฌ์„ ๋‹ค์Œ์„ ํ†ตํ•ด ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค: (a) Kafka ์†Œ๋น„์ž๊ฐ€ Redis Pub/Sub ๋ ˆ์ด์–ด์— ํ‘ธ์‹œํ•˜์—ฌ ์—ฌ๋Ÿฌ WebSocket ์„œ๋ฒ„๋กœ ๋ถ„์‚ฐํ•˜๋Š” ํŒฌ์•„์›ƒ(fan-out) ์•„ํ‚คํ…์ฒ˜, (b) ์žฌ์—ฐ๊ฒฐ์„ ์œ„ํ•œ ์Šคํ‹ฐํ‚ค ์„ธ์…˜(sticky sessions)์„ ์‚ฌ์šฉํ•œ ์ˆ˜ํ‰ ํ™•์žฅ, (c) ์ œํ•œ์ ์ธ ๋ฐฉํ™”๋ฒฝ ๋’ค์— ์žˆ๋Š” ํด๋ผ์ด์–ธํŠธ๋ฅผ ์œ„ํ•œ ํด๋ง(polling)์œผ๋กœ์˜ ์ ์ง„์  ์ €ํ•˜.

๊ธฐ์ˆ  ์„ ํƒ

๊ณ„์ธต๊ธฐ์ˆ 
์ŠคํŠธ๋ฆฌ๋ฐApache Kafka (MSK, Confluent), Kinesis, Apache Pulsar, Redpanda
CDCDebezium, AWS DMS, Maxwell
์ฒ˜๋ฆฌApache Flink, Kafka Streams, Benthos, custom consumers
์‹ค์‹œ๊ฐ„ ์ „๋‹ฌWebSocket (Socket.io), SSE, GraphQL Subscriptions
๋ถ„์„ClickHouse, Apache Druid, Elasticsearch, TimescaleDB
๊ด€์ธก ๊ฐ€๋Šฅ์„ฑKafka ์ง€์—ฐ ๋ชจ๋‹ˆํ„ฐ๋ง (Burrow), Flink ์ง€ํ‘œ, ๋งž์ถคํ˜• ์ง€์—ฐ ์‹œ๊ฐ„ ์ถ”์ 

์‚ฌ์šฉ ์‹œ๊ธฐ / ํ”ผํ•ด์•ผ ํ•  ์‹œ๊ธฐ

์‚ฌ์šฉ ์‹œ๊ธฐํ”ผํ•ด์•ผ ํ•  ์‹œ๊ธฐ
๋น„์ฆˆ๋‹ˆ์Šค ์˜์‚ฌ ๊ฒฐ์ •์— ์„œ๋ธŒ์„ธ์ปจ๋“œ(sub-second) ๋ฐ์ดํ„ฐ ์‹ ์„ ๋„(์‚ฌ๊ธฐ, ๋ชจ๋‹ˆํ„ฐ๋ง, ๊ฑฐ๋ž˜)๊ฐ€ ํ•„์š”ํ•  ๋•Œ์‹œ๊ฐ„/์ผ ๋‹จ์œ„ ์‹ ์„ ๋„๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š” ๋ฐฐ์น˜(batch) ์ฒ˜๋ฆฌ๊ฐ€ ์ถฉ๋ถ„ํ•  ๋•Œ
์—ฌ๋Ÿฌ ์†Œ๋น„์ž๊ฐ€ ๋™์ผํ•œ ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆผ์„ ํ•„์š”๋กœ ํ•  ๋•Œ(ํŒฌ์•„์›ƒ, ๋ถ„๋ฆฌ๋œ ์‹œ์Šคํ…œ)๋‹จ์ผ ์ƒ์‚ฐ์ž์™€ ๋‹จ์ผ ์†Œ๋น„์ž๊ฐ€ ์žˆ์„ ๋•Œ โ€” ๊ฐ„๋‹จํ•œ ํ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.
๋””๋ฒ„๊น…, ์žฌ์ฒ˜๋ฆฌ ๋˜๋Š” ์ƒˆ๋กœ์šด ์†Œ๋น„์ž ๊ตฌ์ถ•์„ ์œ„ํ•ด ์ด๋ฒคํŠธ ์žฌ์ƒ์ด ํ•„์š”ํ•  ๋•Œ๋ฐ์ดํ„ฐ ๋ณผ๋ฅจ์ด ์ ๊ณ (๋ถ„๋‹น 1K ๋ฏธ๋งŒ) ์ŠคํŠธ๋ฆฌ๋ฐ ์ธํ”„๋ผ๋ฅผ ์ •๋‹นํ™”ํ•  ๋งŒํผ ํฌ์ง€ ์•Š์„ ๋•Œ
์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์ด ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋‹ค์šด์ŠคํŠธ๋ฆผ ์‹œ์Šคํ…œ๊ณผ ๋™๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด CDC๊ฐ€ ํ•„์š”ํ•  ๋•ŒํŒ€์— ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ๊ฒฝํ—˜์ด ๋ถ€์กฑํ•  ๋•Œ โ€” ์ŠคํŠธ๋ฆฌ๋ฐ์€ ์ƒ๋‹นํ•œ ์šด์˜ ๋ณต์žก์„ฑ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ์˜ ์ ‘๊ทผ ๋ฐฉ์‹

MW๋Š” "์žฌ์ƒ ์›์น™(replay principle)"์— ๋”ฐ๋ผ ์ŠคํŠธ๋ฆฌ๋ฐ ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ชจ๋“  ์ŠคํŠธ๋ฆผ์€ ํŠน์ • ์‹œ์ ๋ถ€ํ„ฐ ์žฌ์ƒ ๊ฐ€๋Šฅํ•ด์•ผ ํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ์šด ์†Œ๋น„์ž๊ฐ€ ๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฑํ•„(backfill)ํ•˜๊ณ  ๊ธฐ์กด ์†Œ๋น„์ž๊ฐ€ ๋ฒ„๊ทธ ์ˆ˜์ • ํ›„ ๋ฐ์ดํ„ฐ๋ฅผ ์žฌ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ Kafka ๋ฐฐํฌ์—๋Š” ์Šคํ‚ค๋งˆ ์ง„ํ™” ์ •์ฑ…(๊ธฐ๋ณธ์ ์œผ๋กœ ํ•˜์œ„ ํ˜ธํ™˜), ์†Œ๋น„์ž ์ง€์—ฐ ์•Œ๋ฆผ(๋น„์ฆˆ๋‹ˆ์Šค์— ๋ˆˆ์— ๋„๋Š” ์ง€์—ฐ์ด ๋˜๊ธฐ ์ „), ๊ทธ๋ฆฌ๊ณ  ์ž๋™ ์žฌ์‹œ๋„๊ฐ€ ํฌํ•จ๋œ ๋ฐ๋“œ ๋ ˆํ„ฐ ํ† ํ”ฝ(dead-letter topics)์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋น„๋””์˜ค ๋ถ„์„, IoT ์›๊ฒฉ ์ธก์ • ๋ฐ ์‹ค์‹œ๊ฐ„ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์œ„ํ•ด ์ดˆ๋‹น 50๋งŒ ๊ฐœ ์ด์ƒ์˜ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ด€๋ จ ์ฒญ์‚ฌ์ง„

  • ์‹ค์‹œ๊ฐ„ AI ๋น„๋””์˜ค ๊ฐ์‹œ ์‹œ์Šคํ…œ โ€” ์‹ค์‹œ๊ฐ„ ์ถ”๋ก ์„ ํ†ตํ•œ ๋ผ์ด๋ธŒ ๋น„๋””์˜ค ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆฌ๋ฐ
  • ๋ผ์ด๋ธŒ ์Šคํฌ์ธ  ํ•˜์ด๋ผ์ดํŠธ ์ƒ์„ฑ๊ธฐ โ€” ์‹ค์‹œ๊ฐ„ ์ด๋ฒคํŠธ ๊ฐ์ง€ ๋ฐ ํ•˜์ด๋ผ์ดํŠธ ์ถ”์ถœ
  • ์ปค๋„ฅํ‹ฐ๋“œ ์ฐจ๋Ÿ‰ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ โ€” ์ง€์˜คํŽœ์‹ฑ(geofencing)์„ ํ†ตํ•œ ์ฐจ๋Ÿ‰ ์›๊ฒฉ ์ธก์ • ์ŠคํŠธ๋ฆฌ๋ฐ
  • ๊ณต๊ธ‰๋ง ๊ฐ€์‹œ์„ฑ ํ”Œ๋žซํผ โ€” ์‹ค์‹œ๊ฐ„ ๊ณต๊ธ‰๋ง ์ด๋ฒคํŠธ ์ถ”์ 

๊ด€๋ จ ์‚ฌ๋ก€ ์—ฐ๊ตฌ

  • AI ๊ฐ์‹œ โ€” RTSP ์ŠคํŠธ๋ฆฌ๋ฐ โ€” ์ด๋ฒคํŠธ ๊ฐ์ง€๋ฅผ ํ†ตํ•œ ์‹ค์‹œ๊ฐ„ RTSP ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ
  • ๋น„๋””์˜ค ๋ถ„์„ โ€” ์ŠคํŠธ๋ฆฌ๋ฐ ์ถ”๋ก  ํŒŒ์ดํ”„๋ผ์ธ์„ ํ†ตํ•œ ๋ผ์ด๋ธŒ ๋น„๋””์˜ค ๋ถ„์„
  • ๋น„๋””์˜ค ์ธ์ฝ”๋”ฉ โ€” AWS Fast Channel HLS/SRT ์ŠคํŠธ๋ฆฌ๋ฐ ์ธํ”„๋ผ
Related Technologies
ํด๋ผ์šฐ๋“œ ์†”๋ฃจ์…˜AI ๊ฐœ๋ฐœ๋””์ง€ํ„ธ ์ปจ์„คํŒ…
Application

๋ฉ€ํ‹ฐํ…Œ๋„ŒํŠธ SaaS ์•„ํ‚คํ…์ฒ˜

ํ•˜๋‚˜์˜ ์ฝ”๋“œ๋ฒ ์ด์Šค, ์ˆ˜๋ฐฑ ๊ฐœ์˜ ํ…Œ๋„ŒํŠธ, ๋ฐ์ดํ„ฐ ์œ ์ถœ ์ œ๋กœ โ€” ๋ชจ๋“  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ SaaS ๋น„์ฆˆ๋‹ˆ์Šค์˜ ๊ธฐ๋ฐ˜์ž…๋‹ˆ๋‹ค.

AdvancedView
ai-ml-pipeline-architecture.webp
AI / Data

AI/ML ํŒŒ์ดํ”„๋ผ์ธ ์•„ํ‚คํ…์ฒ˜

๋ชจ๋ธ์€ ์Šค์Šค๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ์„ ํ›ˆ๋ จํ•˜๊ณ , ๊ฒ€์ฆํ•˜๊ณ , ๋ฐฐํฌํ•˜๊ณ , ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ํŒŒ์ดํ”„๋ผ์ธ์ด ์‹ค์ œ ์ œํ’ˆ์ž…๋‹ˆ๋‹ค. ๋ชจ๋ธ์€ ๋‹จ์ง€ ํ•˜๋‚˜์˜ ์•„ํ‹ฐํŒฉํŠธ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค.

EnterpriseView

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

MicrocosmWorks๋Š” multi-consumer replay, ๊ธด retention period, cross-cloud portability๊ฐ€ ํ•„์š”ํ•œ ํŒ€์— Kafka๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค. Kafka์˜ log-based architecture๋Š” ๋ฌด์ œํ•œ consumer group์ด ๋™์ผํ•œ data stream์„ ๋…๋ฆฝ์ ์œผ๋กœ ๋‹ค์‹œ ์ฝ๋Š” ๊ฒƒ์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. Kinesis๋Š” AWS ecosystem๊ณผ ๊ธด๋ฐ€ํ•˜๊ฒŒ ํ†ตํ•ฉ๋œ fully managed service๋ฅผ ์›ํ•˜๊ณ , data retention ์š”๊ตฌ ์‚ฌํ•ญ์ด 7์ผ ๋ฏธ๋งŒ์ด๋ฉฐ consumer application์ด 10๊ฐœ ๋ฏธ๋งŒ์ผ ๋•Œ ๋” ๋‚˜์€ ์„ ํƒ์ž…๋‹ˆ๋‹ค. ์ €ํฌ๋Š” ์ ์ ˆํ•œ ๊ถŒ์žฅ ์‚ฌํ•ญ์„ ์ œ์‹œํ•˜๊ธฐ ์œ„ํ•ด architecture assessment ๊ณผ์ •์—์„œ ๊ณ ๊ฐ์˜ ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ(throughput, retention, consumer pattern, operational maturity)์„ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

MicrocosmWorks๋Š” idempotent producers, transactional consumers, ๊ทธ๋ฆฌ๊ณ  Redis์™€ ๊ฐ™์€ ๋น ๋ฅธ lookup cache์— ์ €์žฅ๋œ event fingerprint๋ฅผ ์‚ฌ์šฉํ•˜๋Š” deduplication layer์˜ ์กฐํ•ฉ์„ ํ†ตํ•ด exactly-once semantics๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. Kafka-based system์˜ ๊ฒฝ์šฐ, consumer offset ๋ฐ producer write๋ฅผ atomically commitํ•˜๋Š” Kafka์˜ ๋‚ด์žฅ transactional API๋ฅผ ํ™œ์šฉํ•˜๋ฉฐ, ๋งž์ถคํ˜• streaming pipeline์˜ ๊ฒฝ์šฐ consumer์—์„œ deduplication์ด ์ ์šฉ๋œ outbox pattern์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ €ํฌ๋Š” consumer๊ฐ€ idempotentํ•˜๋„๋ก ํ•ญ์ƒ ์„ค๊ณ„ํ•˜์—ฌ ์•ˆ์ „๋ง์„ ํ™•๋ณดํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ exactly-once mechanism์— ์˜ˆ์™ธ์ ์ธ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ์ด๋ฒคํŠธ๋ฅผ ์žฌ์ฒ˜๋ฆฌํ•˜๋ฉด ๋™์ผํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค.

MicrocosmWorks๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ingestion, processing, sink writing์„ ํฌํ•จํ•˜๋Š” streaming pipeline์— ๋Œ€ํ•ด 50-200ms์˜ end-to-end latency๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, Apache Flink ๋˜๋Š” Kafka Streams์™€ ๊ฐ™์€ in-memory stream processor๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ„๋‹จํ•œ passthrough ๋˜๋Š” filtering workload์˜ ๊ฒฝ์šฐ 10ms ๋ฏธ๋งŒ์˜ latency๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ํฐ latency contributor๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ network hop, serialization overhead, ๊ทธ๋ฆฌ๊ณ  sink write batching์ด๋ฉฐ, ์ด๋Š” ๊ณ ๊ฐ์˜ latency-versus-throughput tradeoff ์„ ํ˜ธ๋„์— ๋”ฐ๋ผ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค. architecture design ๊ณผ์ •์—์„œ ์ €ํฌ๋Š” pipeline stage๋ณ„ ๋ช…์‹œ์ ์ธ latency SLO๋ฅผ ์„ค์ •ํ•˜๊ณ , production ํ™˜๊ฒฝ์—์„œ p50, p95, p99 latency๋ฅผ ์ถ”์ ํ•˜๋Š” monitoring dashboard๋ฅผ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.

MicrocosmWorks๋Š” backward and forward compatibility rule์„ ์ ์šฉํ•˜๋Š” schema registry(์ผ๋ฐ˜์ ์œผ๋กœ Confluent Schema Registry ๋˜๋Š” AWS Glue Schema Registry)๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ producer๊ฐ€ ๊ธฐ์กด consumer๋ฅผ ์†์ƒ์‹œํ‚ค์ง€ ์•Š๊ณ  data format์„ ๋ฐœ์ „์‹œํ‚ฌ ์ˆ˜ ์žˆ๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์ €ํฌ๋Š” ๋ช…์‹œ์ ์ธ schema versioning์„ ์‚ฌ์šฉํ•˜๋Š” Avro ๋˜๋Š” Protobuf serialization์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  message๊ฐ€ self-describingํ•˜๋ฉฐ, ์ƒ์„ฑ๋œ ์ดํ›„ schema๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ๋”๋ผ๋„ deserialized๋  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ €ํฌ CI/CD pipeline์—๋Š” ์ œ์•ˆ๋œ schema ๋ณ€๊ฒฝ์ด downstream consumer๋ฅผ ์†์ƒ์‹œํ‚ฌ ๊ฒฝ์šฐ deployment๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ์ž๋™ํ™”๋œ schema compatibility check๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

MicrocosmWorks๋Š” production streaming platform์„ ์•ˆ์ •์ ์œผ๋กœ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด distributed system, stream processing framework, infrastructure automation ๊ฒฝํ—˜์ด ์žˆ๋Š” ์ตœ์†Œ 2-3๋ช…์˜ engineer๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ „๋ฌธ ์ง€์‹์„ ์ž์ฒด์ ์œผ๋กœ ๊ตฌ์ถ•ํ•˜๊ธฐ๋ฅผ ์›์น˜ ์•Š๋Š” ๊ธฐ์—…์„ ์œ„ํ•ด, ์ €ํฌ๋Š” ์‹œ๊ฐ„๋‹น 15-40๋‹ฌ๋Ÿฌ์˜ managed streaming platform support๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์ €ํฌ ํŒ€์ด cluster operation, performance tuning, incident response๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ ๊ณ ๊ฐ ๊ฐœ๋ฐœ์ž๋“ค์€ stream processing application ๊ตฌ์ถ•์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, 4-8์ฃผ๊ฐ„์˜ engagement๋ฅผ ํ†ตํ•ด ๊ณ ๊ฐ์˜ ๊ธฐ์กด engineering team์ด Kafka, Flink ๋˜๋Š” Kinesis operation์— ๋Œ€ํ•œ ์—ญ๋Ÿ‰์„ ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” training program๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.