
Event Mesh이벤트 메시
이벤트 메시(Event Mesh)는 이벤트를 어떤 환경(클라우드, 온프레미스, IoT)에서도 어떤 소비자에게나 동적으로 라우팅하는 분산 이벤트 인프라다. 서비스 메시의 이벤트 기반 버전이다.
이벤트 메시 vs 메시지 브로커
전통적 메시지 브로커:
생산자 → 단일 브로커 → 소비자
중앙 집중, 단일 실패점, 지역 제한
이벤트 메시:
생산자 → [이벤트 메시 네트워크] → 소비자
분산 브로커들이 메시 형성
멀티 클라우드, 멀티 리전에 걸친 이벤트 라우팅구조
AWS 리전 Azure 리전 온프레미스
┌──────────┐ ┌──────────┐ ┌──────────┐
│이벤트 브│◄─────▶│이벤트 브│◄─────▶│이벤트 브│
│로커 A │ │로커 B │ │로커 C │
└────┬─────┘ └────┬─────┘ └────┬─────┘
│ │ │
Lambda Function 온프레미스
서비스 앱 서비스
주제(Topic): "order.created"
→ 리전 무관하게 구독 가능Solace PubSub+ 예시
javascript
const solace = require('solclientjs');
// 이벤트 발행 (AWS에서)
const session = solace.SolclientFactory.createSession({
url: 'wss://event-mesh-aws.company.com',
vpnName: 'production',
});
session.publish(
solace.SolclientFactory.createTopicDestination('order/created/us-east'),
solace.SolclientFactory.createMessage()
.setBinaryAttachment(JSON.stringify({ orderId: '123' }))
);
// 이벤트 구독 (Azure에서)
// 동적 구독: 'order/created/>' (와일드카드)
session.subscribe(
solace.SolclientFactory.createTopicDestination('order/created/>'),
true, 'my-subscription', 10000
);동적 라우팅
토픽 계층 구조:
order/created/{region}/{category}
구독 예:
order/created/> → 모든 주문
order/created/us-east/> → 미국 동부 주문만
order/created/*/electronics → 전 세계 전자제품 주문