Ecosyste.ms: Funds
An open API service for providing issue and pull request metadata for open source projects.
https://github.com/streadway/amqp
amqp go protocol rabbitmq
Last synced: about 4 hours ago
Repository metadata:
Go client for AMQP 0.9.1
- Host: GitHub
- URL: https://github.com/streadway/amqp
- Owner: streadway
- License: bsd-2-clause
- Created: 2012-04-25T22:11:52.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2023-09-07T02:58:29.000Z (about 1 year ago)
- Last Synced: 2024-10-29T10:54:03.579Z (12 days ago)
- Topics: amqp, go, protocol, rabbitmq
- Language: Go
- Homepage: http://godoc.org/github.com/streadway/amqp
- Size: 915 KB
- Stars: 4,865
- Watchers: 101
- Forks: 620
- Open Issues: 95
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Owner metadata:
- Name: Sean Treadway
- Login: streadway
- Email:
- Kind: user
- Description:
- Website:
- Location: Berlin
- Twitter:
- Company: SoundCloud
- Icon url: https://avatars.githubusercontent.com/u/19727?v=4
- Repositories: 36
- Last Synced at: 2023-04-11T17:36:31.578Z
- Profile URL: https://github.com/streadway
- Sponsor URL:
Committers metadata
Last synced: about 8 hours ago
Total Commits: 422
Total Committers: 75
Avg Commits per committer: 5.627
Development Distribution Score (DDS): 0.479
Commits in past year: 0
Committers in past year: 0
Avg Commits per committer in past year: 0.0
Development Distribution Score (DDS) in past year: 0.0
Name | Commits | |
---|---|---|
Sean Treadway | s****n@s****m | 220 |
Michael Klishin | m****l@c****g | 51 |
Ben Hood | 0****2@g****m | 15 |
Peter Bourgon | p****r@b****g | 14 |
Gerhard Lazu | g****d@l****k | 10 |
Dom Dwyer | d****m@i****m | 10 |
DmitriyMV | c****o@g****m | 7 |
Gerhard Lazu | g****d | 5 |
Mordy Ovits | m****s@y****m | 4 |
Andreas Krennmair | ak@s****t | 4 |
Kyle Purdon | k****n@g****m | 3 |
Patrick | p****l@g****m | 3 |
Pon Umapathy Kailash S (umapathy) | u****y@c****m | 3 |
Dmitry Zenovich | d****h@g****m | 2 |
Dmitry Mishin | d****n@g****m | 2 |
Christopher Thorn | c****s@k****m | 2 |
Anders Brander | a****s@b****k | 2 |
Jonathan Leroy | j****n@i****m | 2 |
Kevin McDonald | k****d@g****m | 2 |
Raqbit | r****t@o****m | 2 |
Tristan Reid | t****n@i****m | 2 |
hagna | n****r@g****m | 2 |
Luke Bakken | l****e@b****o | 2 |
Maksim Kotlyar | k****m@g****m | 2 |
Paul H. Müller | p****l@a****m | 1 |
Ahmed AlSahaf | me@a****m | 1 |
Alex | a****x@s****m | 1 |
Alexander Vishnyakov | A****v@r****m | 1 |
Alexandr Burdiyan | b****n@g****m | 1 |
Alexandre Viau | a****e@a****t | 1 |
and 45 more... |
Issue and Pull Request metadata
Last synced: about 4 hours ago
Package metadata
- Total packages: 2
- Total downloads: unknown
- Total docker downloads: 25,595,678
- Total dependent packages: 7,453 (may contain duplicates)
- Total dependent repositories: 28,168 (may contain duplicates)
- Total versions: 4
go: github.com/streadway/amqp
Package amqp is an AMQP 0.9.1 client with RabbitMQ extensions Understand the AMQP 0.9.1 messaging model by reviewing these links first. Much of the terminology in this library directly relates to AMQP concepts. Most other broker clients publish to queues, but in AMQP, clients publish Exchanges instead. AMQP is programmable, meaning that both the producers and consumers agree on the configuration of the broker, instead of requiring an operator or system configuration that declares the logical topology in the broker. The routing between producers and consumer queues is via Bindings. These bindings form the logical topology of the broker. In this library, a message sent from publisher is called a "Publishing" and a message received to a consumer is called a "Delivery". The fields of Publishings and Deliveries are close but not exact mappings to the underlying wire format to maintain stronger types. Many other libraries will combine message properties with message headers. In this library, the message well known properties are strongly typed fields on the Publishings and Deliveries, whereas the user defined headers are in the Headers field. The method naming closely matches the protocol's method name with positional parameters mapping to named protocol message fields. The motivation here is to present a comprehensive view over all possible interactions with the server. Generally, methods that map to protocol methods of the "basic" class will be elided in this interface, and "select" methods of various channel mode selectors will be elided for example Channel.Confirm and Channel.Tx. The library is intentionally designed to be synchronous, where responses for each protocol message are required to be received in an RPC manner. Some methods have a noWait parameter like Channel.QueueDeclare, and some methods are asynchronous like Channel.Publish. The error values should still be checked for these methods as they will indicate IO failures like when the underlying connection closes. Clients of this library may be interested in receiving some of the protocol messages other than Deliveries like basic.ack methods while a channel is in confirm mode. The Notify* methods with Connection and Channel receivers model the pattern of asynchronous events like closes due to exceptions, or messages that are sent out of band from an RPC call like basic.ack or basic.flow. Any asynchronous events, including Deliveries and Publishings must always have a receiver until the corresponding chans are closed. Without asynchronous receivers, the sychronous methods will block. It's important as a client to an AMQP topology to ensure the state of the broker matches your expectations. For both publish and consume use cases, make sure you declare the queues, exchanges and bindings you expect to exist prior to calling Channel.Publish or Channel.Consume. SSL/TLS - Secure connections When Dial encounters an amqps:// scheme, it will use the zero value of a tls.Config. This will only perform server certificate and host verification. Use DialTLS when you wish to provide a client certificate (recommended), include a private certificate authority's certificate in the cert chain for server validity, or run insecure by not verifying the server certificate dial your own connection. DialTLS will use the provided tls.Config when it encounters an amqps:// scheme and will dial a plain connection when it encounters an amqp:// scheme. SSL/TLS in RabbitMQ is documented here: http://www.rabbitmq.com/ssl.html This exports a Session object that wraps this library. It automatically reconnects when the connection fails, and blocks all pushes until the connection succeeds. It also confirms every outgoing message, so none are lost. It doesn't automatically ack each message, but leaves that to the parent process, since it is usage-dependent. Try running this in one terminal, and `rabbitmq-server` in another. Stop & restart RabbitMQ to see how the queue reacts.
- Homepage: https://github.com/streadway/amqp
- Documentation: https://pkg.go.dev/github.com/streadway/amqp#section-documentation
- Licenses: BSD-2-Clause
- Latest release: v1.1.0 (published over 1 year ago)
- Last Synced: 2024-11-09T00:04:19.591Z (1 day ago)
- Versions: 2
- Dependent Packages: 7,453
- Dependent Repositories: 28,168
- Docker Downloads: 25,595,678
-
Rankings:
- Dependent packages count: 0.022%
- Dependent repos count: 0.036%
- Docker downloads count: 0.389%
- Average: 0.511%
- Stargazers count: 0.98%
- Forks count: 1.127%
go: github.com/streadway/AMQP
- Homepage:
- Documentation: https://pkg.go.dev/github.com/streadway/AMQP#section-documentation
- Licenses: bsd-2-clause
- Latest release: v1.1.0 (published over 1 year ago)
- Last Synced: 2024-11-09T00:04:25.022Z (1 day ago)
- Versions: 2
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 6.999%
- Average: 8.173%
- Dependent repos count: 9.346%