본문 바로가기

대용량 플랫폼

[박혜웅] Message Driven Architecture for Massive Service


(박혜웅)_Message_Driven_Architecture_for_Massive_Servic.pptx

지금 회사에서 대용량 서비스를 하고 있는데, 기존 플랫폼에 대한 개선 방향을 정리해 보았다.

(아직 사용자는 적지만, 서비스가  대박 난다고 가정을 하고.. ) 
 
Message Driven Architecture의 핵심은 Message Queue(RabbitMQ, ZeroMQ)인데, 여기에 Distributed Coordinator(Zookeeper)Distributed Cache(Memcached, Redis)를 추가하여 설계해 보았다.

동시접속 수만이상의 Massive Service라면, 기존의 Client-Server 모델에서 벗어나 새로운 architecture를 고민하는 것도 재미있는 일이다. 이 구조는 확장성(Elastic Scalability)과 고가용성(High Availability)를 우선으로 생각했기에, 모든 비즈니스 로직에 맞는 것은 아니다. ^^;;

Message Queue를 쓴다고 하면 무작정 latency가 높아질 것이라고 우려하지만, memory 기반의 queue라면 memory cache와 비슷하거나 약간 느릴 것이므로 delay는 동일 랙기준으로 0.001 ~ 0.01초일 것이라고 생각한다.

이 문서는 어떤 논문을 보고 만든 게 아니라서 용어나 설명의 정확성은 떨어질 수 있다.