소개
NSQ는 실시간 분산 메시징 플랫폼으로, 하루에 수십억 건의 메시지를 처리하도록 설계되었습니다. Matt Reiferson과 Jehiah Czebotar가 개발하고 Bitly의 지원을 받아 탄생했으며, 단일 장애점이 없는 분산 및 탈중앙화된 토폴로지를 채택하여 높은 가용성과 안정적인 메시지 전달을 보장합니다. 모든 파라미터를 커맨드라인에서 지정할 수 있고 실행 시 런타임 의존성이 없는 바이너리로 제공되어 간편하게 구성하고 배포할 수 있습니다.
상세정보
수평적 확장성
NSQ는 중앙 브로커 없이 수평적으로 확장할 수 있습니다. 내장된 디스COVERY 기능을 통해 클러스터에 새로운 노드를 손쉽게 추가할 수 있으며, 퍼블리시-구독(Pub/Sub) 방식과 로드 밸런싱 메시지 전달 방식을 모두 지원합니다.
운영 편의성
바이너리에 런타임 의존성이 없어 어디서나 쉽게 실행할 수 있습니다. 모든 구성 파라미터는 커맨드라인에서 지정할 수 있으며, 사용 편의를 위해 관리자 UI가 기본으로 제공됩니다.
데이터 포맷 자율성
NSQ는 특정 데이터 형식에 의존하지 않으므로 메시지 포맷으로 JSON, MsgPack, Protocol Buffers 등 어떤 형식을 사용해도 무방합니다. 개발자의 환경에 맞춰 가장 적합한 형식을 선택할 수 있습니다.
공식 클라이언트 라이브러리
Go와 Python 공식 라이브러리가 기본 제공되며, 그 외 다수의 커뮤니티 기반 클라이언트 라이브러리도 사용할 수 있습니다.
이런 경우에 유용합니다
수많은 서비스에서 생성되는 실시간 데이터를 중앙 클러스터의 부담 없이 분산 처리하고 싶을 때 NSQ를 활용할 수 있습니다. 대규모 트래픽이 발생하는 웹 서비스의 비동기 작업 분배, 모니터링 데이터 처리, 실시간 분석 파이프라인 구축 등 안정적인 메시지 인프라가 요구되는 다양한 환경에서 유용하게 사용됩니다.
지원 환경·시스템 요구사항
Linux, Darwin(FreeBSD), Windows 환경에서 사전 컴파일된 바이너리로 제공되며, 공식 Docker 이미지를 통해서도 배포할 수 있습니다. 시스템 요구사항은 실행되는 환경에 따라 다르지만, 특정 런타임 의존성 없이 독립 실행이 가능합니다.
최신 버전·업데이트
현재 최신 버전은 1.3.0입니다. 프로젝트의 최신 업데이트 및 릴리스 노트는 공식 GitHub 저장소의 릴리스 페이지에서 확인할 수 있습니다.
제한 사항·확인 사항
GitHub 저장소의 master 브랜치는 개발용 브랜치로, 항상 안정적인 상태가 아닐 수 있습니다. 프로덕션 환경 배포 시에는 최신 안정화 릴리스 버전 사용을 권장합니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


