Skip to content

AMQP 1.0 protocol support (source and sink) #23801

@aramperes

Description

@aramperes

A note for the community

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Use Cases

Use of AMQP 1.0 is required for newer brokers such as the Azure Service Bus. Meanwhile, RabbitMQ supports both 0.9.1 and 1.0 natively and transparently.

Attempted Solutions

The existing amqp source and sink are incompatible with brokers that only support AMQP 1.0; this is because the crate used for AMQP (lapin) does not support it: amqp-rs/lapin#321

Proposal

AMQP 1.0 is a breaking change from the currently supported protocol 0.9.1.

  • Consider migrating or supporting an alternative AMQP crate, such as: https://github.com/minghuaw/fe2o3-amqp (1.0 exclusive); while considering whether to keep or drop support for v0.9.1 for older brokers (e.g. RabbitMQ before version 4.0).
  • Support Azure Service Bus as a separate source/sink, such as using this community crate that implements the AMQP 1.0 protocol under the hood; or the official Rust crate from Azure that uses the HTTP/REST API.

Both of these options would leverage 0.X-versioned crates, whereas Lapin is more widely used and mature.

References

Version

0.49.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    sink: amqpAnything `amqp` sink relatedsource: amqpAnything `amqp` source related
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions