본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸 · 인터넷·네트워크·원격

NSQ

0

NSQ는 실시간 분산 메시징 플랫폼으로, 하루에 수십억 건의 메시지를 처리하도록 설계되었습니다. Matt Reiferson과 Jehiah Czebotar가 개발하고 Bitly의 지원을 받아 탄생했으며, 단일 장애점이 없는 분산 및 탈중앙화된 토폴로지를 채택하여 높은 가용성과 안정적인 메시지 전달을 보장합니다.

MIT 라이선스메시지 큐메시징 플랫폼분산 시스템실시간 처리오픈소스

소개

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 브랜치는 개발용 브랜치로, 항상 안정적인 상태가 아닐 수 있습니다. 프로덕션 환경 배포 시에는 최신 안정화 릴리스 버전 사용을 권장합니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.