NSQ는 오픈 소스 분산 메시지 큐 소프트웨어입니다

NSQ 무료 메시지 대기열 소프트웨어

GO 기반 오픈 소스 및 실시간 분산 메시지 대기열

NSQ는 단일 장애점이없는 오픈 소스 실시간 분산 메시지 큐입니다. 고 가용성이있는 안정적인 메시지 전달 서비스입니다.

개요

NSQ는 실시간 분산 메시징 플랫폼 Operatng입니다. 매일 엄청난 수의 메시지를 처리하여 신뢰할 수있는 메시지 전달로 결함 공차 및 고 가용성을 제공합니다. 단일 고장 지점없이 분산 및 분산 토폴로지를 제공합니다. 운영상 NSQ Best Message 큐는 쉽게 설치, 구성 및 배포 할 수 있습니다. NSQ 메시지는 JSON, MSGPACK, 프로토콜 버퍼 또는 기타 데이터 형식 일 수 있으며 최대의 유연성을 달성 할 수 있습니다. 공식 GO 및 Python Client Libraries도 제공됩니다. NSQ 메시지 큐 시스템의 설계 목표 중 하나는 메모리에 보관 된 메시지 수를 바인딩하는 것입니다. 주제, 별개의 데이터 및 채널 스트림, 주어진 주제에 가입 된 스트림 또는 소비자의 논리적 그룹화는 NSQ의 핵심 프리미티브입니다. NSQ 메시지 대기열 서비스는 3 개의 데몬으로 구성됩니다. NSQD는 클라이언트에게 메시지를 수신, 버퍼 및 전달하는 데몬입니다. NSQLOOKUPD는 클라이언트 요청에 서비스를 제공하여 주제 위치를 찾고 클러스터 메타 데이터를 관리합니다. 소비자가 특정 주제에 대해 NSQD 생산자를 찾을 수있는 런타임 일관된 검색 서비스를 제공합니다. NSQADMIN은 NSQ 클러스터의 클러스터 실시간 관리 작업을위한 웹 서비스 UI입니다.

시스템 요구 사항

NSQ 간단하고 오픈 소스 메시지 브로커가 실행됩니다.

  • Golang 버전 1.13+
  • GPM 버전 1.4+
  • git

특징

NSQ 메시지 큐 소프트웨어의 주요 기능 중 일부는 다음과 같습니다.

  • SPOF가없는 분산 토폴로지를 지원합니다
  • 메시지는 영구 모드로 구성 할 수 있습니다
  • NSQ는 메모리 모드와 하드 디스크를 채택합니다.
  • 서버가 다시 시작될 때 메시지가 메모리에 지속됩니다
  • 각 메시지는 적어도 한 번 전달됩니다
  • 수평 확장 가능
  • 낮은 대기 시간 푸시 기반 메시지 전달
  • 주로 메모리 내 메시지 대기열
  • TLS 전송 계층 보안
  • 생산자를 찾기위한 런타임 발견 서비스
  • 데이터 형식의 비공식
  • 강력한 클러스터 관리 인터페이스
  • 오픈 소스

설치 지침

Ubuntu에 NSQ 설치

NSQ는 최고의 메시지 중개인이며 실시간 분산 메시징 플랫폼을 쉽게 시작할 수 있습니다. 먼저 NSQ의 모든 퇴적 패키지가 시스템에 설치되어 최신 상태인지 확인하십시오. NSQ 모든 매개 변수는 명령 줄에 지정되고 컴파일 된 NSQ 바이너리에는 런타임 종속성이 없습니다. 아래 가이드는 Debian 및 Ubuntu의 NSQ 설치를 포함하여 배포판을 포함하여 NSQ 설치를 커버합니다. 아래 지침은 로컬 컴퓨터에서 NSQ 클러스터를 실행합니다. NSQ는 GO 모듈을 사용하여 안정적인 빌드를 생성하므로 아래 명령을 사용하여 컴파일하고 NSQ를 설정합니다.

    git clone https://github.com/nsqio/nsq
    cd nsq
    make

설치 및 실행이 필요한 3 개의 개별 이진 NSQLookUpd, NSQD 및 NSQADMIN이 있습니다. 따라서 하나의 쉘에서 다음을 사용하여 nsqlookupd를 시작하십시오.

    nsqlookupd

터미널의 두 번째 쉘에서 다음을 사용하여 NSQD를 시작하십시오.

    nsqd --lookupd-tcp-address=127.0.0.1:4160

-Broadcast-Address = 127.0.0.1을 추가 할 수도 있습니다. 대부분의 디버깅, 분석 및 관리는 NSQADMIN을 통해 수행됩니다. 따라서 실행하여 New Shell에서 NSQADMIN을 시작하십시오.

    nsqadmin --lookupd-http-address=127.0.0.1:4161

다음으로 다음을 사용하여 초기 메시지를 게시하십시오.

    curl -d 'hello world 1' 'http://127.0.0.1:4151/pub?topic=test'

명령으로 다른 쉘에서 nsq_to_file을 시작하십시오.

    nsq_to_file --topic=test --output-dir=/tmp --lookupd-http-address=127.0.0.1:4161

마지막으로 NSQD와 같은 더 많은 메시지를 다음과 같이 게시하십시오.

    curl -d 'hello world 2' 'http://127.0.0.1:4151/pub?topic=test'
    curl -d 'hello world 3' 'http://127.0.0.1:4151/pub?topic=test'

터미널에서 실행 명령 테스트 :

    ./test.sh

실시간 디버깅 및 모니터링의 경우 아래 명령도 매우 잘 작동합니다.

    watch -n 0.5 "curl -s http://127.0.0.1:4151/stats"

마지막으로, 좋아하는 웹 브라우저에서 http://127.0.0.1:4171/에서 NSQADMIN UI를 확인하고보고 통계를 확인하십시오. /tmp 디렉토리에 작성된 로그 파일 (테스트*. 로그)의 내용도 확인하십시오. 축하해요! 우분투 시스템에 NSQ를 성공적으로 설치했습니다. 즐기다!

FAQs

What is NSQ?

NSQ is an open source real-time distributed messaging platform that handles millions of messages every day. It delivers reliable messages with no fault tolerance and high availability.

Is NSQ open source?

NSQ is a best open source message queue and real-time distributed messaging platform. NSQ source code repository is available at Github.

Is NSQ free?

NSQ is a free to use and dowload distributed message queue platform.

What is nsq vs kafka?

NSQ and Kafka are both message queuing services. NSQ is a simpler to configure and more easy to deploy message queue platform while Kafka ensures strict guarantees and reliability with no data loss.

In what language is NSQ written?

NSQ is written in Go programming language.

탐구하다

이 기사에서는 NSQ 실시간 분산 메시징 플랫폼에 대해 논의했습니다. 다른 메시지 큐 (MQ) 소프트웨어에 대해 알아 보려면 다음 페이지를 방문하십시오.

사이드 키크

아파치 카프카

Rabbitmq

resque

셀러리

상위 5 개 오픈 소스 메시지 큐 소프트웨어

 한국인