Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

An AMQP 0-9-1 Go client maintained by the RabbitMQ team. Originally by@streadway: `streadway/amqp`

License

NotificationsYou must be signed in to change notification settings

rabbitmq/amqp091-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

amqp091-goGo ReferenceGo Report Card

This is a Go AMQP 0.9.1 client maintained by theRabbitMQ core team.It wasoriginally developed by Sean Treadway.

Differences from streadway/amqp

Some things are different compared to the original client,others haven't changed.

Package Name

This library uses a different package name. If moving fromstreadway/amqp,using an alias may reduce the number of changes needed:

amqp"github.com/rabbitmq/amqp091-go"

License

This client uses the same 2-clause BSD license as the original project.

Public API Evolution

This client retains key API elements as practically possible.It is, however, open to reasonable breaking public API changes suggested by the community.We don't have the "no breaking public API changes ever" rule and fully recognizethat a good client API evolves over time.

Project Maturity

This project is based on a mature Go client that's been around for over a decade.

Supported Go Versions

This client supports two most recent Go release series.

Supported RabbitMQ Versions

This project supports RabbitMQ versions starting with2.0 but primarily testedagainstcurrently supported RabbitMQ release series.

Some features and behaviours may be server version-specific.

Goals

Provide a functional interface that closely represents the AMQP 0.9.1 modeltargeted to RabbitMQ as a server. This includes the minimum necessary tointeract the semantics of the protocol.

Non-goals

Things not intended to be supported.

  • Auto reconnect and re-synchronization of client and server topologies.
    • Reconnection would require understanding the error paths when thetopology cannot be declared on reconnect. This would require a new setof types and code paths that are best suited at the call-site of thispackage. AMQP has a dynamic topology that needs all peers to agree. Ifthis doesn't happen, the behavior is undefined. Instead of producing apossible interface with undefined behavior, this package is designed tobe simple for the caller to implement the necessary connection-timetopology declaration so that reconnection is trivial and encapsulated inthe caller's application code.
  • AMQP Protocol negotiation for forward or backward compatibility.
    • 0.9.1 is stable and widely deployed. AMQP 1.0 is a divergentspecification (a different protocol) and belongs to a different library.
  • Anything other than PLAIN and EXTERNAL authentication mechanisms.
    • Keeping the mechanisms interface modular makes it possible to extendoutside of this package. If other mechanisms prove to be popular, thenwe would accept patches to include them in this package.
  • Support forbasic.return andbasic.ack frame ordering.This client uses Go channels for certain protocol events and ordering betweenevents sent to two different channels generally cannot be guaranteed.

Usage

See the_examples subdirectory for simple producers and consumers executables.If you have a use-case in mind which isn't well-represented by the examples,please file an issue.

Documentation

Contributing

Pull requests are very much welcomed. Create your pull request on a non-mainbranch, make sure a test or example is included that covers your change, andyour commits represent coherent changes that include a reason for the change.

SeeCONTRIBUTING.md for more information.

License

BSD 2 clause, see LICENSE for more details.

About

An AMQP 0-9-1 Go client maintained by the RabbitMQ team. Originally by@streadway: `streadway/amqp`

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp