--- id: P-REINFORCE-WIKI-C4E95109 category: "10_Wiki/πŸ’‘ Topics/02_Architecture_Principles" confidence_score: 0.95 tags: ['mediator-topology', 'event-driven-architecture-(eda)', 'broker-topology', 'event-mediator', 'business-process-execution-language-(bpel)', 'architecture-principles'] last_reinforced: 2026-05-02 --- # [[Mediator Topology]] ## πŸ“Œ Brief Summary **Mediator Topology**(메디에이터 ν† ν΄λ‘œμ§€)λŠ” 이벀트 기반 μ•„ν‚€ν…μ²˜(Event-Driven Architecture, EDA)μ—μ„œ 닀쀑 λ‹¨κ³„μ˜ λΉ„μ¦ˆλ‹ˆμŠ€ ν”„λ‘œμ„ΈμŠ€λ‚˜ λ³΅μž‘ν•œ 이벀트 쑰율이 ν•„μš”ν•  λ•Œ μ‚¬μš©λ˜λŠ” 핡심 μ•„ν‚€ν…μ²˜ ν† ν΄λ‘œμ§€μž…λ‹ˆλ‹€ [1, 2]. μ€‘μ•™μ˜ 이벀트 메디에이터(Event Mediator)κ°€ μ›Œν¬ν”Œλ‘œμš°μ˜ μƒνƒœλ₯Ό μœ μ§€ν•˜κ³ , 각 단계에 λ§žλŠ” 처리 λͺ…령을 μ§€μ •λœ μ±„λ„λ‘œ λ””μŠ€νŒ¨μΉ˜ν•˜μ—¬ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜(Orchestration) λ°©μ‹μœΌλ‘œ μ‹œμŠ€ν…œ 흐름을 쀑앙 μ œμ–΄ν•©λ‹ˆλ‹€ [2, 3]. 전체 μ‹œμŠ€ν…œμ— 이벀트λ₯Ό λΈŒλ‘œλ“œμΊμŠ€νŒ…ν•˜λŠ” 브둜컀(Broker) ν† ν΄λ‘œμ§€μ™€ 달리, ν”„λ‘œμ„ΈμŠ€ μ œμ–΄, λΆ„μ‚°λœ 였λ₯˜ 처리, 그리고 ν–₯μƒλœ 데이터 일관성을 μ œκ³΅ν•˜λŠ” 것이 νŠΉμ§•μž…λ‹ˆλ‹€ [3]. ## πŸ“– Core Content 메디에이터 ν† ν΄λ‘œμ§€λŠ” λ³΅μž‘ν•œ λΉ„μ¦ˆλ‹ˆμŠ€ 둜직과 μ›Œν¬ν”Œλ‘œμš°λ₯Ό μ²΄κ³„μ μœΌλ‘œ κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄ μ—¬λŸ¬ ꡬ성 μš”μ†Œκ°€ 유기적으둜 ν˜‘λ ₯ν•˜λŠ” κ΅¬μ‘°μž…λ‹ˆλ‹€. * **μ£Όμš” ꡬ성 μš”μ†Œ**: μ‹œμž‘ 이벀트(Initiating Event), 이벀트 큐(Event Queue), 이벀트 메디에이터(Event Mediator), 이벀트 채널(Event Channel), 이벀트 ν”„λ‘œμ„Έμ„œ/ν•Έλ“€λŸ¬(Event Processor/Handler)둜 κ΅¬μ„±λ©λ‹ˆλ‹€ [4, 5]. * **μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ 기반의 μ›Œν¬ν”Œλ‘œμš°**: ν΄λΌμ΄μ–ΈνŠΈλ‘œλΆ€ν„° λ°œμƒν•œ μ΄λ²€νŠΈκ°€ 큐λ₯Ό 거쳐 λ©”λ””μ—μ΄ν„°λ‘œ μ „λ‹¬λ˜λ©΄, λ©”λ””μ—μ΄ν„°λŠ” 전체 λΉ„μ¦ˆλ‹ˆμŠ€ ν”„λ‘œμ„ΈμŠ€μ˜ λ‹€μŒ 단계λ₯Ό κ²°μ •ν•˜μ—¬ μ μ ˆν•œ 이벀트 μ±„λ„λ‘œ 비동기 λͺ…λ Ή(Processing Event)을 λ³΄λƒ…λ‹ˆλ‹€ [5, 6]. 각 이벀트 ν”„λ‘œμ„Έμ„œλŠ” 이 이벀트λ₯Ό μˆ˜μ‹ ν•˜μ—¬ μ‹€μ œ λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ μˆ˜ν–‰ν•˜λ©°, 메디에이터 μžμ²΄λŠ” λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ μˆ˜ν–‰ν•˜μ§€ μ•Šκ³  였직 ν”„λ‘œμ„Έμ„œλ“€μ—κ²Œ 처리 μ§€μΉ¨λ§Œμ„ μ œκ³΅ν•©λ‹ˆλ‹€ [7]. 이후 ν”„λ‘œμ„Έμ„œλŠ” μ²˜λ¦¬κ°€ μ™„λ£Œλ˜μ—ˆμŒμ„ 비동기 λ©”μ‹œμ§€λ‘œ 메디에이터에 μ•Œλ¦½λ‹ˆλ‹€ [6]. * **이벀트의 성격**: 브둜컀 ν† ν΄λ‘œμ§€μ—μ„œμ˜ μ΄λ²€νŠΈκ°€ "이미 λ°œμƒν•œ 사싀(Things that happened)"이라면, 메디에이터 ν† ν΄λ‘œμ§€μ—μ„œμ˜ μ΄λ²€νŠΈλŠ” λΉ„μ¦ˆλ‹ˆμŠ€ ν”„λ‘œμ„ΈμŠ€μ˜ λ‹€μŒ 단계λ₯Ό μ‹€ν–‰ν•˜λ„λ‘ μ§€μ‹œν•˜λŠ” "λͺ…λ Ή(Command)"의 성격을 띠며 λ°˜λ“œμ‹œ μ‹€ν–‰λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€ [8]. (예: 'κ²½λ§€ μž…μ°° λ°œμƒ' λŒ€μ‹  'μž…μ°°μžλ“€μ—κ²Œ μ•Œλ¦Ό', 'μ•„μ΄ν…œ 결제' λ“± [8]) * **닀쀑 메디에이터 및 κ΅¬ν˜„ 도ꡬ**: μ—”ν„°ν”„λΌμ΄μ¦ˆ ν™˜κ²½μ—μ„œλŠ” 도메인(예: 고객 이벀트, μ£Όλ¬Έ 이벀트, 재고 이벀트 λ“±)λ³„λ‘œ λ‹€μˆ˜μ˜ 이벀트 메디에이터λ₯Ό κ΅¬ν˜„ν•˜μ—¬ λΆ€ν•˜λ₯Ό λΆ„μ‚°μ‹œν‚€κ³  신뒰성을 높일 수 μžˆμŠ΅λ‹ˆλ‹€ [6]. 이벀트 쑰율 및 μ—λŸ¬ μ²˜λ¦¬κ°€ 비ꡐ적 λ‹¨μˆœν•  λ•ŒλŠ” Apache Camelμ΄λ‚˜ Spring Integration 같은 라이브러리λ₯Ό μ‚¬μš©ν•˜λ©°, μž₯κΈ° μ‹€ν–‰ ν”„λ‘œμ„ΈμŠ€λ‚˜ κ³ λ„λ‘œ λ³΅μž‘ν•œ 동적 경둜 결정이 ν•„μš”ν•  λ•ŒλŠ” BPEL(Business Process Execution Language)μ΄λ‚˜ BPM(Business Process Management) μ‹€ν–‰ 엔진을 ν™œμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [9]. ## βš–οΈ Trade-offs & Caveats 메디에이터 ν† ν΄λ‘œμ§€λŠ” κ°•λ ₯ν•œ μ œμ–΄λ ₯을 μ œκ³΅ν•˜μ§€λ§Œ, ꡬ쑰적 νŠΉμ„±μƒ λšœλ ·ν•œ ν•œκ³„μ™€ λ°˜λŒ€κΈ‰λΆ€(Trade-off)λ₯Ό μˆ˜λ°˜ν•©λ‹ˆλ‹€. * **μž₯점 (이점)**: * **λ³΅μž‘ν•œ μ›Œν¬ν”Œλ‘œμš° 및 μ—λŸ¬ μ œμ–΄**: ν”„λ‘œμ„ΈμŠ€μ˜ μƒνƒœλ₯Ό μ €μž₯ν•˜κ³  μœ μ§€ν•  수 μžˆμœΌλ―€λ‘œ, μ—λŸ¬ λ°œμƒ μ‹œ νŠΈλžœμž­μ…˜μ„ μž¬μ‹œμž‘ν•˜κ±°λ‚˜ λ³΅κ΅¬ν•˜λŠ” λ“± λ³΅μž‘ν•œ μ—λŸ¬ μ²˜λ¦¬κ°€ 맀우 μš©μ΄ν•©λ‹ˆλ‹€ [2, 3, 10]. * **데이터 일관성**: μ›Œν¬ν”Œλ‘œμš°κ°€ μ€‘μ•™μ—μ„œ κ΄€λ¦¬λ˜λ―€λ‘œ 잠재적으둜 더 λ‚˜μ€ 데이터 일관성을 μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [3]. * **단점 (μ œμ•½ 사항 및 λΆ€μž‘μš©)**: * **단일 μž₯애점 및 μ„±λŠ₯ 병λͺ©(Bottleneck)**: λͺ¨λ“  이벀트 흐름이 쀑앙 메디에이터λ₯Ό 거치기 λ•Œλ¬Έμ—, νŠΈλž˜ν”½μ΄ 급증할 경우 메디에이터가 μ„±λŠ₯ 병λͺ©μ΄ λ˜κ±°λ‚˜ 단일 μž₯애점(Single Point of Failure)으둜 전락할 μœ„ν—˜μ΄ ν½λ‹ˆλ‹€ [2, 3]. * **결합도(Coupling) 증가**: 처리기(Processor)듀이 μ€‘μ•™μ˜ 메디에이터λ₯Ό μΈμ§€ν•˜κ³  μƒν˜Έμž‘μš©ν•΄μ•Ό ν•˜λ―€λ‘œ 브둜컀 ν† ν΄λ‘œμ§€μ— λΉ„ν•΄ μ»΄ν¬λ„ŒνŠΈ κ°„μ˜ 결합도가 λ†’μ•„μ§‘λ‹ˆλ‹€ [2, 3]. 이둜 인해 극단적인 μˆ˜ν‰μ  ν™•μž₯μ„±(Scalability)을 λ‹¬μ„±ν•˜λŠ” λ°μ—λŠ” 브둜컀 λͺ¨λΈλ³΄λ‹€ λΆˆλ¦¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [2, 10]. ## πŸ”— Knowledge Connections ### Related Concepts #### [관계 μœ ν˜• A: μ•„ν‚€ν…μ²˜/기반 기술] * **[[Event-Driven Architecture (EDA)]]** * μ—°κ²° 이유: 메디에이터 ν† ν΄λ‘œμ§€κ°€ μ†ν•œ μƒμœ„ μ•„ν‚€ν…μ²˜ μŠ€νƒ€μΌμž…λ‹ˆλ‹€. * 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: μƒνƒœ λ³€κ²½(이벀트)을 λΉ„λ™κΈ°μ μœΌλ‘œ κ°μ§€ν•˜κ³  λ°˜μ‘ν•˜μ—¬ μ‹œμŠ€ν…œμ˜ ν™•μž₯μ„± 및 응닡성을 κ·ΉλŒ€ν™”ν•˜λŠ” μ „λ°˜μ μΈ λ©”μ»€λ‹ˆμ¦˜μ„ 이해할 수 μžˆμŠ΅λ‹ˆλ‹€ [11-13]. * **[[Broker Topology]]** * μ—°κ²° 이유: 쀑앙 μ œμ–΄κ°€ μžˆλŠ” 메디에이터 ν† ν΄λ‘œμ§€μ™€ λŒ€λΉ„λ˜λŠ” 무쀑앙(Choreography) λ°©μ‹μ˜ ν† ν΄λ‘œμ§€μž…λ‹ˆλ‹€. * 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: 쀑앙 μ‘°μ •μž 없이 μ»΄ν¬λ„ŒνŠΈ κ°„ 높은 λ””μ»€ν”Œλ§(Decoupling)κ³Ό ν™•μž₯성을 λ‹¬μ„±ν•˜λŠ” 방식을 톡해 메디에이터 λ„μž… μ‹œ 포기해야 ν•˜λŠ” νŠΈλ ˆμ΄λ“œμ˜€ν”„λ₯Ό λͺ…ν™•νžˆ 이해할 수 μžˆμŠ΅λ‹ˆλ‹€ [2, 3, 14]. #### [관계 μœ ν˜• B: κ΅¬ν˜„/ν™œμš© 도ꡬ] * **[[Event Mediator]]** * μ—°κ²° 이유: 메디에이터 ν† ν΄λ‘œμ§€μ˜ λ‘λ‡Œ 역할을 ν•˜λŠ” κ°€μž₯ 핡심적인 쀑앙 μ‘°μ • μ»΄ν¬λ„ŒνŠΈμž…λ‹ˆλ‹€. * 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: ν”„λ‘œμ„ΈμŠ€ μƒνƒœ μ €μž₯, λΆ„μ‚°λœ 였λ₯˜μ˜ 볡ꡬ 및 μž¬μ‹œμž‘ 논리가 μ€‘μ•™μ—μ„œ μ–΄λ–»κ²Œ 쑰율(Orchestration)λ˜λŠ”μ§€ νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [3, 4]. * **[[Business Process Execution Language (BPEL)]] / [[BPM]]** * μ—°κ²° 이유: λ³΅μž‘ν•œ 이벀트 쑰율, 닀쀑 μΊμŠ€νŒ…, 동적 경둜 κ²°μ •, μ˜ˆμ™Έ 처리 등을 메디에이터에 κ΅¬ν˜„ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” 선언적 μ–Έμ–΄ 및 관리 μ—”μ§„μž…λ‹ˆλ‹€. * 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: λ‹¨μˆœν•œ μ½”λ“œλ‘œ μ²˜λ¦¬ν•˜κΈ° μ–΄λ €μš΄ μž₯κΈ° μ‹€ν–‰(Long-running) λΉ„μ¦ˆλ‹ˆμŠ€ νŠΈλžœμž­μ…˜κ³Ό μΈκ°„μ˜ κ°œμž…μ΄ ν•„μš”ν•œ μ›Œν¬ν”Œλ‘œμš°λ₯Ό μ‹œμŠ€ν…œμ΄ μ–΄λ–»κ²Œ μžλ™ν™”ν•˜λŠ”μ§€ 싀무적 κ΄€μ μ—μ„œ 배울 수 μžˆμŠ΅λ‹ˆλ‹€ [9]. ### Deeper Research Questions - 메디에이터 ν† ν΄λ‘œμ§€ λ‚΄μ—μ„œ 메디에이터 자체의 μ„±λŠ₯ 병λͺ© 및 단일 μž₯애점(SPOF) μœ„ν—˜μ„ μ™„ν™”ν•˜κΈ° μœ„ν•΄ μ–΄λ–€ λΆ„μ‚° 및 κ³ κ°€μš©μ„± 섀계 μ „λž΅μ΄ μ‚¬μš©λ  수 μžˆλŠ”κ°€? - 단일 μ‹œμŠ€ν…œ λ‚΄μ—μ„œ λ‹¨μˆœν•œ μ΄λ²€νŠΈλŠ” 브둜컀 ν† ν΄λ‘œμ§€λ‘œ, λ³΅μž‘ν•œ νŠΈλžœμž­μ…˜μ€ 메디에이터 ν† ν΄λ‘œμ§€λ‘œ μ²˜λ¦¬ν•˜λŠ” ν•˜μ΄λΈŒλ¦¬λ“œ μ•„ν‚€ν…μ²˜λŠ” μ–΄λ–»κ²Œ κ΅¬ν˜„λ˜λ©°, 두 ν† ν΄λ‘œμ§€ κ°„μ˜ 톡신은 μ–΄λ–»κ²Œ μ œμ–΄λ˜λŠ”κ°€? - λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜(MSA) ν™˜κ²½μ—μ„œ 메디에이터 ν† ν΄λ‘œμ§€(μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜)λ₯Ό μ μš©ν•  λ•Œ ν•„μ—°μ μœΌλ‘œ λ°œμƒν•˜λŠ” μ„œλΉ„μŠ€ κ°„ 결합도 증가 문제λ₯Ό 섀계 λ‹¨κ³„μ—μ„œ μ–΄λ–»κ²Œ μ΅œμ†Œν™”ν•  수 μžˆλŠ”κ°€? - 쀑앙 메디에이터가 각 이벀트 처리기(Processor)에 비동기 λͺ…λ Ή(Processing Event)을 λ””μŠ€νŒ¨μΉ˜ν•  λ•Œ, λ©”μ‹œμ§€ μœ μ‹€μ΄λ‚˜ μˆœμ„œ 역전을 λ°©μ§€ν•˜κΈ° μœ„ν•œ 기술적 λ©”μ»€λ‹ˆμ¦˜(예: Guaranteed Delivery λ“±)은 무엇인가? - 메디에이터가 ν”„λ‘œμ„ΈμŠ€ μƒνƒœλ₯Ό μΆ”μ ν•˜κ³  μ‹€νŒ¨ μ‹œ νŠΈλžœμž­μ…˜μ„ μž¬μ‹œμž‘/λ³΅κ΅¬ν•˜λŠ” κ³Όμ •μ—μ„œ 보상 νŠΈλžœμž­μ…˜(Compensating Transaction)은 μ–΄λ–»κ²Œ μ‹€ν–‰λ˜λ©° 데이터 일관성은 μ–΄λ–»κ²Œ 보μž₯λ˜λŠ”κ°€? ### Practical Application Contexts * **Implementation:** λ³΅μž‘ν•œ 이벀트 μ½”λ””λ„€μ΄μ…˜μ΄ ν•„μš”ν•œ λ„λ©”μΈμ—μ„œ Apache Camelμ΄λ‚˜ Spring Integration 같은 λ©”μ‹œμ§• 인프라λ₯Ό ν™œμš©ν•΄ 메디에이터λ₯Ό ν”„λ‘œκ·Έλž˜λ°ν•˜κ±°λ‚˜, λ³΅μž‘λ„μ— 따라 jBPM 같은 BPM μ‹€ν–‰ 엔진을 λ„μž…ν•˜μ—¬ μ›Œν¬ν”Œλ‘œμš°λ₯Ό μ„ μ–Έμ μœΌλ‘œ κ΅¬ν˜„ν•©λ‹ˆλ‹€ [9]. * **System Design:** μ „μžμƒκ±°λž˜ μ‹œμŠ€ν…œμ΄λ‚˜ λ³΄ν—˜ 청ꡬ 처리처럼 μ‚¬μš©μž μƒν˜Έμž‘μš© ν›„ μ£Όλ¬Έ, 재고 확인, 결제, 배솑 λ“± 일련의 닀단계 후속 μž‘μ—…μ΄ λ°˜λ“œμ‹œ μ •ν•΄μ§„ μˆœμ„œμ™€ κ·œμΉ™μ— 따라 μ§„ν–‰λ˜κ³ , 쀑간에 μ—λŸ¬κ°€ 났을 λ•Œ 전체λ₯Ό μ·¨μ†Œ(Rollback)ν•˜κ±°λ‚˜ μž¬μ‹œλ„ν•΄μ•Ό ν•˜λŠ” μ‹œμŠ€ν…œ 섀계 μ‹œ μ±„νƒλ©λ‹ˆλ‹€ [6, 8]. * **Operation / Maintenance:** 메디에이터가 전체 λΉ„μ¦ˆλ‹ˆμŠ€ νλ¦„μ˜ μƒμ‚΄μ—¬νƒˆκΆŒμ„ μ₯κ³  μžˆμœΌλ―€λ‘œ 운영 νŒ€μ€ 쀑앙 메디에이터와 μ—°κ²°λœ 채널(λ©”μ‹œμ§€ 큐)의 병λͺ© μ—¬λΆ€, 큐 μ§€μ—° μ‹œκ°„(Latency) 등을 집쀑 λͺ¨λ‹ˆν„°λ§ν•΄μ•Ό ν•©λ‹ˆλ‹€ [2, 3]. * **Learning Path:** 이벀트 기반 μ•„ν‚€ν…μ²˜μ˜ κΈ°λ³Έ κ°œλ… μŠ΅λ“ -> 브둜컀 방식과 메디에이터 λ°©μ‹μ˜ μž₯단점 비ꡐ -> 비동기 λ©”μ‹œμ§€ 채널(RabbitMQ, Kafka λ“±) μ‹€μŠ΅ -> Saga νŒ¨ν„΄ 및 μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ ν”„λ ˆμž„μ›Œν¬ ν•™μŠ΅ 순으둜 지식을 ν™•μž₯ν•©λ‹ˆλ‹€. * **My Project Relevance:** μ—¬λŸ¬ λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€λ₯Ό λ„˜λ‚˜λ“œλŠ” λΉ„μ¦ˆλ‹ˆμŠ€ ν”„λ‘œμ„ΈμŠ€(예: μ£Όλ¬Έ 처리 μ›Œν¬ν”Œλ‘œμš°)μ—μ„œ νŠΈλžœμž­μ…˜μ˜ μƒνƒœ 관리가 λ³΅μž‘ν•΄μ Έ 디버깅과 μ—λŸ¬ 볡ꡬ에 어렀움을 κ²ͺκ³  μžˆλ‹€λ©΄, μ€‘μ•™μ—μ„œ 흐름을 ν†΅μ œν•˜λŠ” 메디에이터 νŒ¨ν„΄ λ„μž…μ„ κ²€ν† ν•˜μ—¬ μ‹œμŠ€ν…œμ˜ μ•ˆμ •μ„±κ³Ό μ œμ–΄λ ₯을 높일 수 μžˆμŠ΅λ‹ˆλ‹€. ### Adjacent Topics * **[[Saga Pattern (Orchestration)]]** * ν™•μž₯ λ°©ν–₯: λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ ν™˜κ²½μ—μ„œ 쀑앙 μ˜€μΌ€μŠ€νŠΈλ ˆμ΄ν„°(메디에이터와 μœ μ‚¬ν•œ μ—­ν• )λ₯Ό 두고 λΆ„μ‚° νŠΈλžœμž­μ…˜μ„ κ΄€λ¦¬ν•˜λ©°, μ‹€νŒ¨ μ‹œ 보상 νŠΈλžœμž­μ…˜(Compensating Transaction)을 톡해 λ°μ΄ν„°μ˜ μ΅œμ’… 일관성을 λ‹¬μ„±ν•˜λŠ” λ°©λ²•λ‘ μœΌλ‘œ ν•™μŠ΅μ„ ν™•μž₯ν•©λ‹ˆλ‹€ [13, 15]. * **[[Microservices Architecture (MSA)]]** * ν™•μž₯ λ°©ν–₯: λ„λ©”μΈλ³„λ‘œ μž‘κ³  독립적인 μ„œλΉ„μŠ€λ‘œ λΆ„ν• λœ ν™˜κ²½μ—μ„œ, 각 μ„œλΉ„μŠ€ κ°„μ˜ 효율적인 μƒν˜Έμž‘μš© 및 μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜μ„ μœ„ν•΄ 이벀트 기반 μ•„ν‚€ν…μ²˜(메디에이터 포함)κ°€ μ–΄λ–»κ²Œ MSA의 ν•œκ³„λ₯Ό λ³΄μ™„ν•˜κ³  λ³΅μž‘μ„±μ„ μ œμ–΄ν•˜λŠ”μ§€ λΆ„μ„ν•©λ‹ˆλ‹€ [3, 16, 17]. --- *Last updated: 2026-05-02*