awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
squaremo avatar

squaremo/amqp.node

0
View on GitHub↗
3,845 stars·470 forks·JavaScript·13 viewsamqp-node.github.io/amqplib↗

Amqp.node

amqp.node is a Node.js client and asynchronous messaging middleware designed for communicating with message brokers using the AMQP 0-9-1 protocol. It enables the creation of decoupled, event-driven architectures where independent components exchange data via queues and exchanges.

The library features a multiplexed channel manager that operates multiple logical communication streams over a single persistent connection. It includes stateful connection recovery tools that automatically restore broken network links and re-establish message consumers after service interruptions.

The implementation covers binary protocol framing, non-blocking asynchronous input and output operations, and a centralized error routing system that captures synchronous exceptions from event listeners.

Features

  • AMQP Protocol Clients - Provides a full AMQP protocol client for Node.js to manage connections and data exchange.
  • AMQP - Implements the AMQP 0-9-1 wire protocol for encoding and decoding messages.
  • Messaging Middleware - Acts as asynchronous messaging middleware for routing and processing streams in decoupled architectures.
  • Connection State Recovery - Tracks previous network state to automatically restore connections and re-establish message consumers.
  • Automatic Connection Recovery - Automatically detects broken communication channels and re-establishes them to maintain availability.
  • Event-Driven Architectures - Facilitates the creation of decoupled systems where components communicate via queues and exchanges.
  • Multiplexed Message Streams - Handles high-volume data streams using multiplexed channels and non-blocking I/O.
  • Binary Protocols - Implements binary framing for efficient data transmission and stream multiplexing.
  • Connection Multiplexing - Operates multiple logical communication channels over a single physical TCP connection.
  • Network Reliability - Ensures stable network links through automatic connection recovery and consumer restoration.
  • Non-Blocking Socket I/O - Uses non-blocking socket I/O to handle network communication without freezing the event loop.
  • Virtual Channel Multiplexing - Manages multiple logical streams over a single persistent AMQP connection via virtual channel multiplexing.
  • Task Queues - AMQP 0-9-1 client for RabbitMQ.

Star history

Star history chart for squaremo/amqp.nodeStar history chart for squaremo/amqp.node

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Amqp.node

Similar open-source projects, ranked by how many features they share with Amqp.node.
  • pika/pikapika avatar

    pika/pika

    3,867View on GitHub↗

    Pika is a Python client library for implementing communication between applications and message brokers using the AMQP 0-9-1 protocol. It serves as a toolkit for sending and receiving messages, specifically enabling the creation of producers and consumers that interact with RabbitMQ and other AMQP-compliant brokers. The library provides both an asynchronous messaging framework that integrates with external event loops for non-blocking data exchange and a procedural synchronous wrapper for performing messaging tasks without an asynchronous architecture. Its connection management toolkit inclu

    Pythonamqp0-9-1clientpython
    View on GitHub↗3,867
  • streadway/amqpstreadway avatar

    streadway/amqp

    4,932View on GitHub↗

    This is a Go client library and protocol implementation for interacting with message brokers using the AMQP 0.9.1 standard. It serves as an asynchronous messaging toolkit and message queue client for implementing producer and consumer patterns. The library provides a programmatic interface for managing the full message lifecycle, including publishing, consumption, and delivery acknowledgments. It supports reliable delivery mechanisms such as publishing confirmations and atomic transactions. The project covers the administration of routing topologies through the declaration and binding of que

    Goamqpgoprotocol
    View on GitHub↗4,932
  • php-amqplib/php-amqplibphp-amqplib avatar

    php-amqplib/php-amqplib

    4,597View on GitHub↗

    php-amqplib is a PHP library that implements the AMQP protocol to enable communication between applications and message brokers. It provides the necessary tools to integrate PHP applications with RabbitMQ for sending and receiving messages across decoupled services. The library supports a wide range of messaging patterns, including asynchronous task processing, event-driven architectures, and remote procedure calls using correlation identifiers. It manages the full message lifecycle through publishing, queue declaration, and flexible consumption models using either push-based subscriptions or

    PHPamqphacktoberfestmessaging
    View on GitHub↗4,597
  • tokio-rs/miotokio-rs avatar

    tokio-rs/mio

    7,024View on GitHub↗

    Mio is a low-level I/O library for Rust that provides an event-driven framework for monitoring multiple network sockets and file descriptors. It acts as a portable wrapper for operating system native polling systems, including epoll, kqueue, and IOCP, allowing applications to trigger events when resources are ready for reading or writing without blocking the execution thread. The library provides a non-blocking socket interface for managing TCP, UDP, and Unix sockets. It distinguishes itself through a vectored I/O implementation, enabling scatter-gather reads and writes across multiple buffer

    Rustasynchronousnetworkingnon-blocking
    View on GitHub↗7,024
See all 30 alternatives to Amqp.node→

Frequently asked questions

What does squaremo/amqp.node do?

amqp.node is a Node.js client and asynchronous messaging middleware designed for communicating with message brokers using the AMQP 0-9-1 protocol. It enables the creation of decoupled, event-driven architectures where independent components exchange data via queues and exchanges.

What are the main features of squaremo/amqp.node?

The main features of squaremo/amqp.node are: AMQP Protocol Clients, AMQP, Messaging Middleware, Connection State Recovery, Automatic Connection Recovery, Event-Driven Architectures, Multiplexed Message Streams, Binary Protocols.

What are some open-source alternatives to squaremo/amqp.node?

Open-source alternatives to squaremo/amqp.node include: pika/pika — Pika is a Python client library for implementing communication between applications and message brokers using the AMQP… streadway/amqp — This is a Go client library and protocol implementation for interacting with message brokers using the AMQP 0.9.1… php-amqplib/php-amqplib — php-amqplib is a PHP library that implements the AMQP protocol to enable communication between applications and… tokio-rs/mio — Mio is a low-level I/O library for Rust that provides an event-driven framework for monitoring multiple network… y123456yz/reading-code-of-nginx-1.9.2 — This project is a detailed analysis and study of the Nginx source code, focusing on high-performance server… yuesong-feng/30daymakecppserver — This project is a C++ TCP server framework and educational socket programming guide. It provides a high-performance…