(박혜웅)_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초일 것이라고 생각한다.
동시접속 수만이상의 Massive Service라면, 기존의 Client-Server 모델에서 벗어나 새로운 architecture를 고민하는 것도 재미있는 일이다. 이 구조는 확장성(Elastic Scalability)과 고가용성(High Availability)를 우선으로 생각했기에, 모든 비즈니스 로직에 맞는 것은 아니다. ^^;;
Message Queue를 쓴다고 하면 무작정 latency가 높아질 것이라고 우려하지만, memory 기반의 queue라면 memory cache와 비슷하거나 약간 느릴 것이므로 delay는 동일 랙기준으로 0.001 ~ 0.01초일 것이라고 생각한다.
이 문서는 어떤 논문을 보고 만든 게 아니라서 용어나 설명의 정확성은 떨어질 수 있다.
'대용량 플랫폼' 카테고리의 다른 글
[박혜웅] 고가용성,확장성을 위한 웹서비스 구조 (Web service architecture for High-Availability and Scalability) (2) | 2012.07.20 |
---|---|
[강한구] Zookeeper 삽질기 (0) | 2011.12.03 |
[박혜웅] "Big Data 처리를 위한 Hadoop과 GPGPU 세미나" 후기 (0) | 2011.11.15 |
[박혜웅] Nginx tutorial for scalable web services (in Korean) (0) | 2011.07.08 |
[박혜웅] RabbitMQ Tutorial for Java (2) | 2011.03.02 |