대용량 메시지 처리 시스템을 구성을 위한 고려사항

@see

http://www.slideshare.net/indeedeng/indeedeng-how-to-get-a-job-35-million-times-a-day-using-rabbitmq#

Durability - 내구성

  시스템 장애가 발생하더라도 메시지가 유실되지 않아야 한다.

  • persistent messages - using database 
  • persistent 와 clustering은 성능저하를 가져오는 요인임->요구수준의 성능을 보장토록 구성

High throughput - 대량 처리량

  대량 메시지의 순간처리량 뿐아니라, 월간, 연간 처리량이 목표수준에 도달해야 한다.

  • 병렬 처리
  • 비동기 처리

Low latency - 낮은 대기시간

  유입되는 요청메시지의 부하로 인한 처리대기시간이 짧아야 한다.  

  • High latency - mq가 없는 단일접점 서비스로 구성된 시스템
  • Message Queue 시스템 구성
  • 병렬처리 시스템으로 구성
  • 비동기 처리 시스템으로 구성

Partition-tolerance -분할내성

  메시지 전달이 실패하거나 시스템 일부가 망가져도 시스템이 계속 동작할 수 있도록 처리

  • mirrored queues in clustering
  • persistent and clustering

Efficient use of the database - 효과적인 데이타베이스 사용

  persistent message 를 위한  편리성이 제공되어야 한다.

  • 설정값에 의한 mode 전환


댓글

이 블로그의 인기 게시물

Charset 변환 ( EUC-KR, UTF-8, MS949, CP933 )

GZipUtils- gzip을 통한 압축시 charset처리

ESAPI ( XSS, Sql Injection )