Infra
-
Rabbit MQ란?Infra 2021. 7. 8. 15:38
RabbitMQ의 정의 RabbitMQ는 AMQP(Advanced Message Queueing Protocol)을 구현한 오픈소스 메세지 브로커(중개자)이다. 간단히 말해서 Rabbit MQ는 데이터를 일단 어딘가에 쌓아두고 나중에 비동기적으로 적절한 처리를 하고 싶은 경우를 위한 데이터 저장소이다. RabbitMQ의 활용 예시 실생활에서 예를 들어보자. 당장 개발해야 할 우선순위가 높은 작업들이 있는데 다른 직원들이 운영 업무 처리를 요청해 온다면, "업무 내용을 분류해서 메신저로 보내주시면 처리 후에 결과 알려드리겠습니다." 라고 하면 된다. 이 때의 메신저가 바로 RabbitMQ라고 할 수 있다. AMQP와 RabbitMQ RabbitMQ는 AMQP를 구현한다. 제타위키 AMQP에 따르면, AMQ..
-
서버 확장 방법(스케일 아웃 vs 스케일 업)Infra 2021. 2. 9. 22:42
스케일 아웃 서버를 여러 대 추가하여 시스템을 확장하는 방법이다. 스케일 아웃을 하면 2개 이상의 서버가 운영되기 때문에 각 서버에 요청을 분산하는 로드 밸런싱이 필수로 동반된다. 각 서버들로 서비스 의존도가 분산되기 때문에 특정 서버가 다운되더라도 나머지 서버에서 서비스를 지속할 수 있다. 하지만 각 서버가 다루는 데이터들의 정합성에 신경써야 한다. 스케일 업 서버의 장비를 고성능의 부품으로 교체하거나 추가하여 서버 성능을 업그레이드시키는 방법이다. 서버에 추가 부품을 장착할 수 있는 슬롯에 여유가 있어야 한다. 서버를 한대만 운용하는 환경에서 스케일 업을 하는 경우, 데이터 정합성은 보장되겠지만 서비스 의존도가 서버 하나에 쏠려있기 때문에 이 서버가 다운되면 답이 없어진다.
-
RedisInfra 2020. 6. 22. 14:08
■Redis란? - Remote Dictionary Server의 약자 - 비 관계형 DB인 NoSql에 속하는 In-Memory DB 형태의 시스템 In-Memory DB : Memory에서 데이터를 다루며 read, write 속도가 빠르다. - Memory에 데이터가 저장되기 때문에 시스템이 꺼지면 모든 데이터가 삭제됨 따라서 데이터를 지속적으로 유지하기 위해 모든 작업을 로그에 기록해서 Disk에 저장한 후 시스템을 구동할 때 로그를 기반으로 데이터를 다시 메모리에 올리는 방식으로 데이터를 Backup (아래에 자세한 Backup 방식 정리) - key-value 구조로 데이터를 저장하고 조회 - 주로 RDBMS의 부하를 줄이기 위한 캐시 솔루션으로 사용 ■Redis의 사용 사례 - 캐싱 - 세션..