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
streadway avatar

streadway/amqp

0
View on GitHub↗
4,932 stars·611 forks·Go·BSD-2-Clause·18 viewsgodoc.org/github.com/streadway/amqp↗

Amqp

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 queues and exchanges. It also includes traffic management capabilities for regulating message flow and configuring quality of service limits. Connection management is handled via URI parsing and the establishment of secure or plain text sockets.

Features

  • AMQP Protocol Clients - Provides a full Go client implementation for interacting with AMQP 0.9.1 message brokers.
  • AMQP - Implements the AMQP 0.9.1 standard for handling connections, channels, and binary framing.
  • AMQP Client Libraries - Provides a comprehensive Go library for communicating with AMQP 0.9.1 brokers.
  • Reliable Message Delivery - Ensures reliable delivery through the use of acknowledgments, publisher confirms, and atomic transactions.
  • Message Consumption - Implements the process of streaming and retrieving messages from an AMQP queue.
  • Queue Declarations - Provides the ability to declare message queues with specific durability and auto-deletion settings.
  • Queue and Exchange Orchestration - Provides programmatic creation and configuration of named message exchanges.
  • Asynchronous Messaging Clients - Provides a toolkit for implementing asynchronous producer and consumer patterns.
  • Publish-Subscribe Messaging - Implements the publishing of messages to exchanges within a publish-subscribe messaging model.
  • Connection Multiplexing - Implements AMQP channels to multiplex multiple virtual connections over a single physical TCP link.
  • Message Delivery Guarantees - Provides mechanisms for acknowledging processed messages to ensure reliable at-least-once delivery.
  • Message Queue Clients - Offers a programmatic interface for declaring queues, binding exchanges, and publishing messages.
  • Binary Frame Serialization - Encapsulates AMQP messages into binary frames for efficient transmission over TCP.
  • Connection Establishment - Handles the handshake and establishment process for secure or plain text TCP connections to AMQP brokers.
  • Connection State Management - Tracks the lifecycle of network sockets and session authentication to maintain persistent broker connections.
  • Asynchronous Event Queueing - Enables event-driven architectures by queuing events to decouple producers from consumers.
  • Distributed Task Queues - Facilitates distributed task processing by spreading work across multiple consumers via queues.
  • Atomic Transaction Execution - Provides the ability to group multiple publishing and acknowledgment operations into atomic transactions for consistency.
  • Transactional Message Batches - Groups publishing and acknowledgment operations into atomic transactional batches.
  • Message Routing - Allows configuration of complex routing topologies using exchanges and queue bindings.
  • Publishing Confirmations - Allows publishers to verify that the broker has successfully received and accepted a message.
  • Server-to-Client Event Emissions - Registers listeners to react to asynchronous server-to-client events such as connection closures.
  • Flow Control Window Managers - Regulates message flow using prefetch limits to prevent consumer memory exhaustion.
  • Pending Message Redelivery - Enables the recovery and redelivery of messages that were delivered but not acknowledged.
  • Flow Controllers - Provides mechanisms to pause and resume message delivery on a channel to regulate throughput.
  • Consumer Prefetch Limits - Implements QoS configuration to limit the number of in-flight unacknowledged messages.
  • Request-Response Pattern Support - Implements synchronous request-response patterns for blocking calls during queue and exchange declarations.
  • Message Queues and Brokers - Standard client for RabbitMQ messaging protocols.

Star history

Star history chart for streadway/amqpStar history chart for streadway/amqp

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. 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

Projects sharing features with Amqp

These projects share indexed features with Amqp. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • 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
  • nats-io/nats-servernats-io avatar

    nats-io/nats-server

    20,076View on GitHub↗

    NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge computing, and distributed microservices. It functions as a distributed publish-subscribe broker that routes messages using hierarchical, dot-separated subject strings, enabling decoupled communication between services without requiring centralized broker lookups. The system supports core messaging patterns including asynchronous publish-subscribe, request-reply, and load-balanced queue processing. The platform distinguishes itself through a decentralized architecture that eliminates t

    Gocloudcloud-computingcloud-native
    View on GitHub↗20,076
  • nats-io/nats.gonats-io avatar

    nats-io/nats.go

    6,657View on GitHub↗

    This is a Golang client library for interacting with a cloud native distributed messaging system. It provides the necessary tools for Go applications to exchange messages using publish-subscribe and request-reply patterns, as well as specialized clients for managing persistent streams and distributed storage. The library includes a JetStream client for durable message streaming and replay, a Key-Value store client for managing distributed state with versioning and watchers, and an Object Store client for the storage and retrieval of large binary files via chunked delivery. The implementation

    Gocloud-nativecloud-native-architecturescloud-native-microservices
    View on GitHub↗6,657
  • systemsapproach/bookSystemsApproach avatar

    SystemsApproach/book

    3,298View on GitHub↗

    This project is a comprehensive computer networking textbook and instructional resource. It serves as a technical guide for the design and implementation of network layers, protocols, and hardware architecture, covering the spectrum from physical links to application-layer protocols. The content provides a detailed study of standards for congestion control, reliable data delivery, and internetwork routing. It includes specialized technical material on network security, public-key infrastructure, and the operation of modern cloud infrastructure and data centers. The material covers a broad ra

    Python
    View on GitHub↗3,298
Compare all 30 related projects→

Frequently asked questions

What does streadway/amqp do?

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.

What are the main features of streadway/amqp?

The main features of streadway/amqp are: AMQP Protocol Clients, AMQP, AMQP Client Libraries, Reliable Message Delivery, Message Consumption, Queue Declarations, Queue and Exchange Orchestration, Asynchronous Messaging Clients.

Which projects share features with streadway/amqp?

Projects with overlapping indexed features include: php-amqplib/php-amqplib — php-amqplib is a PHP library that implements the AMQP protocol to enable communication between applications and… nats-io/nats-server — NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge… nats-io/nats.go — This is a Golang client library for interacting with a cloud native distributed messaging system. It provides the… systemsapproach/book — This project is a comprehensive computer networking textbook and instructional resource. It serves as a technical… hazelcast/hazelcast — Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to… quarkusio/quarkus — Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications.…