본문 바로가기

전체 글

redis Introduction redis Introduction IntroRedis는 "REmote DIctionary System"의 약자로 메모리 기반의 Key/Value Store 이다.Cassandra나 HBase와 같이 NoSQL DBMS로 분류되기도 하고, memcached와 같은 In memory 솔루션으로 분리되기도 한다.성능은 memcached에 버금가면서 다양한 데이타 구조체를 지원함으로써 Message Queue, Shared memory, Remote Dictionary 용도로도 사용될 수 있으며, 이런 이유로 인스탄트그램, 네이버 재팬의 LINE 메신져 서비스, StackOverflow,Blizzard,digg 등 여러 소셜 서비스에 널리 사용되고 있다.BSD 라이센스 기반의 오픈 소스이며 최근 VMWare에 .. 더보기
대규모 서비스 대규모 서비스의 정의는? 1. 일단 잘 팔려야 대규모 서비스도 해볼 수 있다. 2. 꼭 분산 환경이나 NoSQL을 써야 한다는 선입관을 바꿀 필요가 있다. → 기존의 MySQL등도 Sharding이나 Query Off-Loading등의 아키텍쳐를 사용하면 가능하다. 3. 나중에 아키텍쳐를 바꾸기 어렵다? → 그렇게 생각했었는데, 위의 사례를 보면 현재 Thumbler도 LAMP에서 Scala로 전환중이고, HBase와 Redis로 서서히 넘어가 는 중이고, FaceBook도 예전에는 MySQL이었지만, 다른 NoSQL로 전환하였다. 그것도 운영중에. 결국 대규모 서비스는 서비스가 성공한 다음에 충분한 경험과 예산을 가지고 차차 바꿔 가면 된다. 더보기
Rabbit MQ 기본 컨셉 Rabbit MQ 기본 컨셉 AMQP (Advanced Message Queuing Protocol)Broker : 메세지 Queue 시스템을 broker라고 하낟.Queue Queue의 주요 속성Ÿ nameŸ durable 속성 : 메세지를 디스크에 저장. memory에 저장하는 것은 transient라고 한다.Ÿ auto-delete : 모든 consumer가 unsubscribe하면, 해당 queue는 자동으로 없어진다.* Queue를 만드는 것을 declare라고 하며, 애플리케이션 코드에서도 쉽게 만들 수 있다. 만약 해당 큐가 이미 존재하고 있다면, 다시queue를 만들지 않고, queue가 없을 경우에만 만든다. (기존의 JMS 기반의 queuing 시스템과 접근 방법이 좀 틀린 듯. 기존 .. 더보기