--- id: P-REINFORCE-WIKI-F81E0CF7 category: Dev confidence_score: 0.95 tags: ['event-mediator', 'event-driven-architecture', 'broker-topology', 'message-queues', 'bpm-engine-/-bpel', 'architecture-principles'] last_reinforced: 2026-05-02 --- # [[Event Mediator]] ## ๐Ÿ“Œ Brief Summary ์ด๋ฒคํŠธ ๋ฉ”๋””์—์ดํ„ฐ(Event Mediator)๋Š” ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜(Event-Driven Architecture)์˜ ๋ฉ”๋””์—์ดํ„ฐ ํ† ํด๋กœ์ง€(Mediator Topology) ๋‚ด์—์„œ ์ด๋ฒคํŠธ์˜ ํ๋ฆ„์„ ํ†ต์ œํ•˜๊ณ  ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ค‘์•™์—์„œ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜(Orchestration)ํ•˜๋Š” ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ์ด๋‹ค [1, 2]. ๋‹ค์ˆ˜์˜ ๋‹จ๊ณ„๊ฐ€ ํ•„์š”ํ•œ ๋ณต์žกํ•œ ์ƒํ™ฉ์—์„œ ๊ฐ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์ˆ˜ํ–‰ํ•  ๋ช…๋ น์„ ์ง€์ •๋œ ์ฑ„๋„๋กœ ์ „๋‹ฌํ•˜๋ฉฐ, ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ฐ ๋ณต๊ตฌ(์žฌ์‹œ์ž‘) ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ํŠน์ง•์ด๋‹ค [1-3]. ๋ฐ˜๋ฉด, ๋ชจ๋“  ํ๋ฆ„์„ ์ค‘์•™์—์„œ ์ œ์–ดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ ๋ณ‘๋ชฉ์ด๋‚˜ ๋‹จ์ผ ์žฅ์• ์ ์ด ๋  ์œ„ํ—˜์ด ์กด์žฌํ•œ๋‹ค [1, 2]. ## ๐Ÿ“– Core Content * **์ค‘์•™ ์ง‘์ค‘์‹ ์›Œํฌํ”Œ๋กœ์šฐ ์ œ์–ด:** ์ด๋ฒคํŠธ ๋ฉ”๋””์—์ดํ„ฐ๋Š” ์ด๋ฒคํŠธ ํ(Event Queue)๋กœ๋ถ€ํ„ฐ ์ดˆ๊ธฐ ์ด๋ฒคํŠธ(Initiating Event)๋ฅผ ์ˆ˜์‹ ํ•œ ํ›„, ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๋‹จ๊ณ„๋ฅผ ์กฐ์ •ํ•œ๋‹ค [4]. ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ์ฒ˜๋ฆฌ ์™„๋ฃŒ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋ฉด, ๋ฉ”๋””์—์ดํ„ฐ๋Š” ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์กฐ๊ฑด๋ถ€(conditional) ๋˜๋Š” ๋ฐ˜๋ณต์ (iterative) ๋…ผ๋ฆฌ๋ฅผ ์ ์šฉํ•ด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ  ํ›„์† ์ฒ˜๋ฆฌ ์ด๋ฒคํŠธ(Processing Event)๋ฅผ ๋ฐœ์†กํ•œ๋‹ค [4]. * **๋ช…๋ น(Command) ๊ธฐ๋ฐ˜์˜ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜:** ์‹œ์Šคํ…œ ์ „์ฒด์— ์ด๋ฒคํŠธ๋ฅผ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธํ•˜๋Š” ๋ธŒ๋กœ์ปค(Broker) ํ† ํด๋กœ์ง€์™€ ๋‹ฌ๋ฆฌ, ์ง€์ •๋œ ์ฑ„๋„(์ฃผ๋กœ ๋ฉ”์‹œ์ง€ ํ)์„ ํ†ตํ•ด ํŠน์ • ๋ช…๋ น ํ˜•ํƒœ์˜ ์ด๋ฒคํŠธ๋ฅผ ๋””์ŠคํŒจ์น˜ํ•œ๋‹ค [1]. ์ฆ‰, ์ด๋ฒคํŠธ ๋ฉ”๋””์—์ดํ„ฐ ๊ตฌ์กฐ์—์„œ์˜ ์ด๋ฒคํŠธ๋Š” ๋‹จ์ˆœํ•œ ์ƒํƒœ ๋ณ€ํ™”์˜ ์•Œ๋ฆผ์ด ์•„๋‹ˆ๋ผ ๋ฐ˜๋“œ์‹œ ์‹คํ–‰๋˜์–ด์•ผ ํ•  '๋ช…๋ น'์œผ๋กœ ์ทจ๊ธ‰๋œ๋‹ค [5]. * **์ƒํƒœ ์œ ์ง€ ๋ฐ ๊ฐ•๋ ฅํ•œ ์—๋Ÿฌ ๋ณต๊ตฌ:** ์ด๋ฒคํŠธ ๋ฉ”๋””์—์ดํ„ฐ๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ๋ฅผ ์œ ์ง€(maintain the state)ํ•  ์ˆ˜ ์žˆ์–ด, ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ด๋ฅผ ๋ณต๊ตฌํ•˜๊ณ  ํ”„๋กœ์„ธ์Šค๋ฅผ ์žฌ์‹œ์ž‘(restart)ํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ์ œ๊ณตํ•œ๋‹ค [1, 2]. ์ด๋ฅผ ํ†ตํ•ด ๋ถ„์‚ฐ ํ™˜๊ฒฝ์—์„œ ๋”์šฑ ์ •๊ตํ•œ ์—๋Ÿฌ ํ•ธ๋“ค๋ง๊ณผ ํ–ฅ์ƒ๋œ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋‹ค [1]. * **๋„๋ฉ”์ธ๋ณ„ ๋ถ„์‚ฐ ๋ฐ ํ™•์žฅ ๊ตฌํ˜„:** ๋‹จ์ผ ๋ฉ”๋””์—์ดํ„ฐ ๊ตฌ์„ฑ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ณ ๊ฐ, ๋ธŒ๋ผ์šฐ์ง•, ์ฃผ๋ฌธ, ์žฌ๊ณ  ๋“ฑ ๋ฌธ์ œ ๋„๋ฉ”์ธ๋ณ„๋กœ ๋‹ค์ˆ˜์˜ ๋ฉ”๋””์—์ดํ„ฐ๋ฅผ ๋ถ„ํ•  ๊ตฌํ˜„ํ•˜์—ฌ ๋ถ€ํ•˜์— ๋”ฐ๋ผ ๋…๋ฆฝ์ ์œผ๋กœ ํ™•์žฅ์„ฑ์„ ํ™•๋ณดํ•˜๊ณ  ์‹ ๋ขฐ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค [4]. ๋‹จ์ˆœํ•œ ์ œ์–ด ๋กœ์ง์€ ์ผ๋ฐ˜ ์ฝ”๋“œ๋กœ, ๋ณต์žกํ•œ ์ œ์–ด๋‚˜ ๊ธด ์‹คํ–‰ ์‹œ๊ฐ„์ด ํ•„์š”ํ•œ ์›Œํฌํ”Œ๋กœ์šฐ๋Š” BPEL(Business Process Execution Language)์ด๋‚˜ BPM(Business Process Management) ์—”์ง„๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ œ์–ดํ•œ๋‹ค [6]. ## โš–๏ธ Trade-offs & Caveats * **์„ฑ๋Šฅ ๋ณ‘๋ชฉ ๋ฐ ๋‹จ์ผ ์žฅ์• ์ (SPOF) ์œ„ํ—˜:** ๋ฉ”๋””์—์ดํ„ฐ๊ฐ€ ๋ชจ๋“  ์›Œํฌํ”Œ๋กœ์šฐ์™€ ์ด๋ฒคํŠธ ํ๋ฆ„์„ ์ค‘์•™์—์„œ ์ œ์–ดํ•˜๊ณ  ์กฐ์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํŠธ๋ž˜ํ”ฝ์ด ์ง‘์ค‘๋  ๊ฒฝ์šฐ ๋ฉ”๋””์—์ดํ„ฐ ์ž์ฒด๊ฐ€ ์„ฑ๋Šฅ์˜ ๋ณ‘๋ชฉ(bottleneck) ํ˜„์ƒ์„ ์œ ๋ฐœํ•˜๊ฑฐ๋‚˜ ์‹œ์Šคํ…œ์˜ ์‹ ๋ขฐ์„ฑ์„ ์œ„ํ˜‘ํ•˜๋Š” ๋‹จ์ผ ์žฅ์• ์ ์ด ๋  ์œ„ํ—˜์ด ์กด์žฌํ•œ๋‹ค [1, 2]. * **์ปดํฌ๋„ŒํŠธ ๊ฐ„ ๊ฒฐํ•ฉ๋„(Coupling) ์ฆ๊ฐ€:** ์ค‘์•™ ์ง‘์ค‘ํ˜• ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฐฉ์‹์„ ๋”ฐ๋ฅด๋ฏ€๋กœ, ์ฒ˜๋ฆฌ๊ธฐ(Consumer/Handler)๋“ค์ด ๋ฉ”๋””์—์ดํ„ฐ์˜ ๋ช…๋ น์„ ์ธ์‹ํ•ด์•ผ ํ•˜๋ฉฐ ํ”„๋กœ์„ธ์Šค ์ œ์–ด๋ฅผ ์œ„ํ•œ ์ผ์ • ์ˆ˜์ค€์˜ ๊ฒฐํ•ฉ์ด ์ˆ˜๋ฐ˜๋˜์–ด ์ „์ฒด์ ์œผ๋กœ ์ปดํฌ๋„ŒํŠธ ๊ฐ„ ๊ฒฐํ•ฉ๋„๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค [1, 2, 7]. * **์ƒ๋Œ€์ ์œผ๋กœ ๋‚ฎ์€ ํ™•์žฅ์„ฑ:** ๋ธŒ๋กœ์ปค ํ† ํด๋กœ์ง€์™€ ๊ฐ™์ด ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ๊ทน๋„๋กœ ๋А์Šจํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜์–ด ์ž์œจ์ ์œผ๋กœ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์— ๋น„ํ•ด, ๋ฉ”๋””์—์ดํ„ฐ ๋ณ‘๋ชฉ ๋“ฑ์œผ๋กœ ์ธํ•ด ์ƒ๋Œ€์ ์ธ ์‹œ์Šคํ…œ ํ™•์žฅ์„ฑ๊ณผ ์„ฑ๋Šฅ ํ•œ๊ณ„๊ฐ€ ๋‚ฎ๋‹ค [2]. ## ๐Ÿ”— Knowledge Connections ### Related Concepts #### [๊ด€๊ณ„ ์œ ํ˜• A (์•„ํ‚คํ…์ฒ˜/๊ธฐ๋ฐ˜ ๊ธฐ์ˆ )] - [[Event-Driven Architecture]] - ์—ฐ๊ฒฐ ์ด์œ : ์ด๋ฒคํŠธ ๋ฉ”๋””์—์ดํ„ฐ๊ฐ€ ํ•ต์‹ฌ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ตœ์ƒ์œ„ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค [8, 9]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ์ด๋ฒคํŠธ๋ฅผ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ๊ฐ์ง€ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ์ „๋ฐ˜์˜ ๋™์ž‘ ์›๋ฆฌ์™€ ์œ ์—ฐ์„ฑ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค [8, 10]. - [[Broker Topology]] - ์—ฐ๊ฒฐ ์ด์œ : ์ค‘์•™ ์กฐ์ •์ž์ธ ๋ฉ”๋””์—์ดํ„ฐ ์—†์ด ์ปดํฌ๋„ŒํŠธ๋“ค์ด ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ๋œ ์ด๋ฒคํŠธ๋ฅผ ์ž์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š”(์•ˆ๋ฌด ๋ฐฉ์‹) ์ƒ๋ฐ˜๋œ ํ† ํด๋กœ์ง€์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค [1, 2, 10]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ์ค‘์•™ ํ†ต์ œํ˜•(์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜) ๋ฐฉ์‹๊ณผ ๋ถ„์‚ฐ ํ†ต์ œํ˜•(์•ˆ๋ฌด) ๋ฐฉ์‹์˜ ์žฅ๋‹จ์ (๊ฒฐํ•ฉ๋„, ์—๋Ÿฌ ์ฒ˜๋ฆฌ, ํ™•์žฅ์„ฑ)์„ ๋น„๊ต ๋ฐ ๋Œ€์กฐํ•˜์—ฌ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋‹ค [2, 5]. #### [๊ด€๊ณ„ ์œ ํ˜• B (๊ตฌํ˜„/ํ™œ์šฉ ๋„๊ตฌ)] - [[Message Queues]] - ์—ฐ๊ฒฐ ์ด์œ : ์ด๋ฒคํŠธ ๋ฉ”๋””์—์ดํ„ฐ๊ฐ€ ๋‹ค์Œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์†Œ๋น„์ž(์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ)์—๊ฒŒ ๋ช…๋ น(์ด๋ฒคํŠธ)์„ ๋””์ŠคํŒจ์น˜ํ•  ๋•Œ ์ง€์ •ํ•˜๋Š” ์ฃผ์š” ํ†ต์‹  ์ฑ„๋„ ๊ธฐ์ˆ ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค [1]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ์ด๋ฒคํŠธ์˜ ๋น„๋™๊ธฐ์  ๋ฒ„ํผ๋ง ๋ฐ ์ „๋‹ฌ์„ ํ†ตํ•œ ์‹œ์Šคํ…œ์˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ณผ ์•ˆ์ •์„ฑ ํ™•๋ณด ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋‹ค [4, 11]. - [[BPM Engine / BPEL]] - ์—ฐ๊ฒฐ ์ด์œ : ๋ฉ”๋””์—์ดํ„ฐ์—์„œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ์™€ ์กฐ๊ฑด๋ถ€ ๋…ผ๋ฆฌ ์ œ์–ด ๋“ฑ ๋ณต์žก๋„๊ฐ€ ๋†’์€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ตฌํ˜„ํ•  ๋•Œ ํ™œ์šฉํ•˜๋Š” ์–ธ์–ด ๋ฐ ์‹คํ–‰ ์—”์ง„์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค [6]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ๋ณต์žกํ•œ ์กฐ๊ฑด๋ถ€ ์ฒ˜๋ฆฌ, ๋™์  ๊ฒฝ๋กœ ๊ฒฐ์ • ๋ฐ ๊ธด ์‹คํ–‰ ์‹œ๊ฐ„(Long-running)์„ ๊ฐ€์ง€๋Š” ์›Œํฌํ”Œ๋กœ์šฐ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค [6]. ### Deeper Research Questions - ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜(Orchestration) ๋ฐฉ์‹์˜ ๋ฉ”๋””์—์ดํ„ฐ ํŒจํ„ด๊ณผ ์•ˆ๋ฌด(Choreography) ๋ฐฉ์‹์˜ ๋ธŒ๋กœ์ปค ํŒจํ„ด์„ ๋น„์ฆˆ๋‹ˆ์Šค ๋ณต์žก๋„์— ๋”ฐ๋ผ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํ˜•ํƒœ๋กœ ์–ด๋–ป๊ฒŒ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€? - ์ด๋ฒคํŠธ ๋ฉ”๋””์—์ดํ„ฐ๊ฐ€ ์ƒํƒœ๋ฅผ ์œ ์ง€(Stateful)ํ•˜๋ฉด์„œ๋„ ๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ ํ•˜์—์„œ ์„ฑ๋Šฅ ๋ณ‘๋ชฉ์ด๋‚˜ ๋‹จ์ผ ์žฅ์• ์ (SPOF)์ด ๋˜๋Š” ๊ฒƒ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•œ ์Šค์ผ€์ผ๋ง ์ „๋žต์ด๋‚˜ ๊ธฐ์ˆ  ๊ตฌ์กฐ๋Š” ๋ฌด์—‡์ธ๊ฐ€? - ๋ฉ”๋””์—์ดํ„ฐ ํ† ํด๋กœ์ง€ ํ™˜๊ฒฝ์—์„œ ๋‹จ๊ณ„ ์ค‘ ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ, ์ค‘์•™ ๋ฉ”๋””์—์ดํ„ฐ๋Š” ์–ด๋– ํ•œ ๋ฐฉ์‹์œผ๋กœ ํ”„๋กœ์„ธ์Šค๋ฅผ ์žฌ์‹œ์ž‘(restart)ํ•˜๊ณ  ๋ณด์ƒ ํŠธ๋žœ์žญ์…˜(Compensating Transaction)์„ ์ง€์‹œํ•˜๋Š”๊ฐ€? - ์ด๋ฒคํŠธ ๋ฉ”๋””์—์ดํ„ฐ ๋‚ด๋ถ€์˜ ๋กœ์ง์„ ์ผ๋ฐ˜ ์ฝ”๋“œ๋กœ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹๊ณผ BPEL ๋“ฑ์˜ DSL(Domain Specific Language)์„ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ์‹ ์‚ฌ์ด์˜ ์„ ํƒ ๊ธฐ์ค€๊ณผ ๊ฐ๊ฐ์˜ ์œ ์ง€๋ณด์ˆ˜ ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€? - ๋‹จ์ผ ์‹œ์Šคํ…œ ๋‚ด์—์„œ ๋ฌธ์ œ ๋„๋ฉ”์ธ๋ณ„๋กœ ๋‹ค์ˆ˜์˜ ์ด๋ฒคํŠธ ๋ฉ”๋””์—์ดํ„ฐ๋ฅผ ๋ถ„ํ• ํ•  ๋•Œ, ์ดˆ๊ธฐ ์ด๋ฒคํŠธ ํ์—์„œ ๊ฐ ๋ฉ”๋””์—์ดํ„ฐ๋กœ ์ด๋ฒคํŠธ๋ฅผ ๋ถ„๋ฅ˜ ๋ฐ ๋ผ์šฐํŒ…ํ•˜๋Š” ํšจ์œจ์ ์ธ ๊ตฌ์กฐ๋Š” ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ•ด์•ผ ํ•˜๋Š”๊ฐ€? ### Practical Application Contexts - **Implementation:** ๋ณต์žกํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ฐ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๊ตฌํ˜„์ด ์š”๊ตฌ๋  ๊ฒฝ์šฐ, Apache Camel, Spring Integration๊ณผ ๊ฐ™์€ ๋ฉ”์‹œ์ง• ์ธํ”„๋ผ๋‚˜ jBPM ๊ฐ™์€ BPM ์‹คํ–‰ ์—”์ง„์„ ์‚ฌ์šฉํ•˜์—ฌ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ํ†ต์ œํ•˜๋Š” ๋ฉ”๋””์—์ดํ„ฐ๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•œ๋‹ค. - **System Design:** ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ ์‹œ, ์—๋Ÿฌ ๋ณต๊ตฌ์™€ ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ ๋ณด์กด์ด ํ•„์ˆ˜์ ์ธ ์›Œํฌํ”Œ๋กœ์šฐ ๊ตฌ๊ฐ„(์˜ˆ: ๋‹ค๋‹จ๊ณ„ ๊ธˆ์œต ๊ฒฐ์ œ, ๋ณต์žกํ•œ ์žฌ๊ณ  ์ฒ˜๋ฆฌ ๋“ฑ)์„ ์‹๋ณ„ํ•˜๊ณ  ์ด ๋ถ€๋ถ„์— ๋ฉ”๋””์—์ดํ„ฐ ํ† ํด๋กœ์ง€๋ฅผ ์ ์šฉํ•ด ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ํ™•๋ณดํ•œ๋‹ค. - **Operation / Maintenance:** ์šด์˜ ์ธก๋ฉด์—์„œ ์ค‘์•™ ์ด๋ฒคํŠธ ๋ฉ”๋””์—์ดํ„ฐ ์ž์ฒด๊ฐ€ ์„ฑ๋Šฅ์˜ ๋ณ‘๋ชฉ์ด๋‚˜ ๋‹จ์ผ ์žฅ์• ์ ์ด ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ํ•ด๋‹น ๋ฉ”๋””์—์ดํ„ฐ ์ปดํฌ๋„ŒํŠธ์˜ ์ด์ค‘ํ™” ๊ตฌ์„ฑ๊ณผ ์ง‘์ค‘์ ์ธ ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋ง(Observability) ์ฒด๊ณ„๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค. - **Learning Path:** ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜์˜ ๊ธฐ๋ณธ ์›๋ฆฌ์™€ ๋ธŒ๋กœ์ปค ํ† ํด๋กœ์ง€์˜ ๋А์Šจํ•œ ๊ฒฐํ•ฉ์„ ๋จผ์ € ํ•™์Šตํ•œ ๋’ค, ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์—์„œ์˜ ์—๋Ÿฌ ํ•ธ๋“ค๋ง๊ณผ ์›Œํฌํ”Œ๋กœ์šฐ ํ†ต์ œ ํ•„์š”์„ฑ์— ๋”ฐ๋ผ ๋ฉ”๋””์—์ดํ„ฐ ํ† ํด๋กœ์ง€์˜ ๊ตฌ์กฐ์  ํŠน์ง•๊ณผ ํ•œ๊ณ„๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ํ•™์Šตํ•œ๋‹ค. - **My Project Relevance:** ์—ฌ๋Ÿฌ ์„œ๋น„์Šค์— ๊ฑธ์ณ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๋ณต์žกํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ, ํŠน์ • ๋‹จ๊ณ„์˜ ์‹คํŒจ ์‹œ ์ „์ฒด ํ”„๋กœ์„ธ์Šค ๋กค๋ฐฑ ํ˜น์€ ์žฌ์‹œ์ž‘์„ ์ค‘์•™์—์„œ ์กฐ์œจํ•ด์•ผ ํ•˜๋Š” ๊ด€๋ฆฌ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ์˜ ๋„์ž…์„ ๊ฒ€ํ† ํ•  ๋•Œ ์ฐธ๊ณ ํ•œ๋‹ค. ### Adjacent Topics - [[Microservices Architecture]] - ํ™•์žฅ ๋ฐฉํ–ฅ: ๋…๋ฆฝ์ ์œผ๋กœ ๋ฐฐํฌ๋œ ๋‹ค์ˆ˜์˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ฐ„์— ๊ฑธ์ณ์ง„ ๋ถ„์‚ฐ ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ์™€ ํ”„๋กœ์„ธ์Šค ์กฐ์ •์„ ์œ„ํ•ด ์ด๋ฒคํŠธ ๋ฉ”๋””์—์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ํšจ์œจ์ ์œผ๋กœ ํ†ตํ•ฉํ•  ๊ฒƒ์ธ์ง€ ์—ฐ๊ตฌํ•œ๋‹ค. - [[Saga Pattern]] - ํ™•์žฅ ๋ฐฉํ–ฅ: ๋ถ„์‚ฐ ํ™˜๊ฒฝ์—์„œ ACID ํŠธ๋žœ์žญ์…˜ ๋Œ€์‹  ์ตœ์ข… ์ผ๊ด€์„ฑ(Eventual Consistency)์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ๊ธฐ๋ฐ˜ SAGA ํŒจํ„ด ๊ตฌํ˜„ ์‹œ, ์ค‘์•™ ๋ฉ”๋””์—์ดํ„ฐ์˜ ๋ณด์ƒ ํŠธ๋žœ์žญ์…˜ ์ œ์–ด ๊ธฐ๋ฒ•์„ ์‹ฌ์ธต ํ•™์Šตํ•œ๋‹ค. --- *Last updated: 2026-05-02*