NSQ Phần mềm hàng đợi tin nhắn miễn phí
Hàng đợi tin nhắn phân phối thời gian thực và nguồn thời gian thực dựa trên GO
NSQ là một hàng đợi tin nhắn phân tán thời gian thực nguồn mở mà không có điểm thất bại nào. Đó là một dịch vụ gửi tin nhắn đáng tin cậy với tính sẵn sàng cao.
Tổng quan
NSQ là một nền tảng nhắn tin phân tán thời gian thực ở quy mô. Nó xử lý số lượng tin nhắn khổng lồ mỗi ngày, cung cấp khả năng chịu lỗi và tính khả dụng cao với việc gửi tin nhắn đáng tin cậy. Nó cung cấp các cấu trúc liên kết phân tán và phi tập trung mà không có điểm thất bại duy nhất. Hoạt động, hàng đợi tin nhắn tốt nhất NSQ rất dễ cài đặt, định cấu hình và triển khai. Tin nhắn NSQ có thể là JSON, MSGPACK, bộ đệm giao thức hoặc bất kỳ định dạng dữ liệu nào khác để đạt được tính linh hoạt tối đa. Thư viện khách hàng chính thức Go và Python cũng có sẵn. Một trong những mục tiêu thiết kế của hệ thống hàng đợi tin nhắn NSQ là ràng buộc số lượng tin nhắn được lưu trong bộ nhớ. Các chủ đề, luồng dữ liệu và kênh riêng biệt, nhóm hợp lý của các luồng hoặc người tiêu dùng đã đăng ký vào một chủ đề nhất định là các nguyên thủy cốt lõi của NSQ. Dịch vụ xếp hàng tin nhắn NSQ bao gồm 3 daemon: NSQD là trình nền nhận, bộ đệm và cung cấp tin nhắn cho khách hàng. NSQLookupd phục vụ các yêu cầu của khách hàng để tìm vị trí chủ đề và quản lý siêu dữ liệu cụm. Nó cung cấp dịch vụ khám phá nhất quán thời gian chạy cho người tiêu dùng tìm nhà sản xuất NSQD cho một chủ đề cụ thể. NSQADMIN là giao diện người dùng dịch vụ web cho các tác vụ quản trị thời gian thực cụm của cụm NSQ của bạn.
Yêu cầu hệ thống
Nhà môi giới tin nhắn nguồn đơn giản và nguồn mở NSQ chạy trên:
- Golang phiên bản 1.13+
- GPM phiên bản 1.4+
- Git
Đặc trưng
Một số tính năng chính của phần mềm hàng đợi tin nhắn NSQ được liệt kê dưới đây:
- Hỗ trợ các cấu trúc liên kết phân tán không có SPOF
- Tin nhắn có thể được cấu hình ở chế độ liên tục
- NSQ áp dụng chế độ bộ nhớ và đĩa cứng
- Tin nhắn vẫn tồn tại trong bộ nhớ khi máy chủ khởi động lại
- Mỗi tin nhắn được gửi ít nhất một lần
- Có thể mở rộng theo chiều ngang
- Giao hàng dựa trên độ trễ thấp
- Chủ yếu là hàng đợi tin nhắn trong bộ nhớ
- Bảo mật lớp vận chuyển TLS
- Dịch vụ khám phá thời gian chạy để tìm nhà sản xuất
- Định dạng dữ liệu bất khả tri
- Giao diện quản trị cụm mạnh mẽ
- Mã nguồn mở
Hướng dẫn cài đặt
Cài đặt NSQ trên Ubuntu
NSQ là nhà môi giới tin nhắn tốt nhất và dễ dàng bắt đầu nền tảng nhắn tin phân phối thời gian thực. Đầu tiên, đảm bảo rằng tất cả các gói phụ thuộc của NSQ được cài đặt và cập nhật trên hệ thống của bạn. NSQ Tất cả các tham số được chỉ định trên dòng lệnh và các nhị phân NSQ được biên dịch không có phụ thuộc thời gian chạy. Dưới đây hướng dẫn bao gồm cài đặt NSQ trên Debian và Ubuntu bao gồm các bản phân phối dựa trên chúng. Các hướng dẫn sau đây sẽ chạy cụm NSQ trên máy cục bộ của bạn. NSQ sử dụng các mô -đun GO để tạo các bản dựng đáng tin cậy, vì vậy hãy sử dụng các lệnh bên dưới để biên dịch và thiết lập nsq:
git clone https://github.com/nsqio/nsq
cd nsq
make
Có ba nhị phân riêng biệt NSQLOOKUPD, NSQD và NSQADMIN cần được cài đặt và chạy. Vì vậy, trong một shell, hãy bắt đầu nsqlookupd bằng cách sử dụng:
nsqlookupd
Trong vỏ thứ hai của thiết bị đầu cuối, bắt đầu NSQD bằng cách sử dụng:
nsqd --lookupd-tcp-address=127.0.0.1:4160
Bạn cũng có thể thêm –broadcast-address = 127.0.0.1. Hầu hết các gỡ lỗi, phân tích và quản trị được thực hiện thông qua NSQADMIN. Vì vậy, hãy bắt đầu nsqadmin trong shell mới bằng cách chạy:
nsqadmin --lookupd-http-address=127.0.0.1:4161
Tiếp theo, xuất bản một tin nhắn ban đầu bằng cách sử dụng:
curl -d 'hello world 1' 'http://127.0.0.1:4151/pub?topic=test'
Bắt đầu NSQ_TO_FILE trong một shell khác với lệnh:
nsq_to_file --topic=test --output-dir=/tmp --lookupd-http-address=127.0.0.1:4161
Cuối cùng, xuất bản nhiều tin nhắn khác thành NSQD như:
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'
Để kiểm tra lệnh chạy trong thiết bị đầu cuối:
./test.sh
Để gỡ lỗi và giám sát thời gian thực bên dưới lệnh cũng hoạt động rất tốt:
watch -n 0.5 "curl -s http://127.0.0.1:4151/stats"
Cuối cùng, trong trình duyệt web yêu thích của bạn, mở http://127.0.0.1:4171/ để xác minh và xem giao diện người dùng NSQADMIN và xem số liệu thống kê. Vui lòng kiểm tra nội dung của các tệp nhật ký (kiểm tra.*. Nhật ký) được ghi vào thư mục /TMP. Chúc mừng! Bạn đã cài đặt thành công NSQ trên hệ thống Ubuntu. Thưởng thức!
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.