You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Robert Batts (JIRA)" <ji...@apache.org> on 2016/04/15 22:45:25 UTC

[jira] [Updated] (FLINK-3769) RabbitMQ Sink ability to publish to a different exchange

     [ https://issues.apache.org/jira/browse/FLINK-3769?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Batts updated FLINK-3769:
--------------------------------
    Description: 
The RabbitMQ Sink can currently only publish to the "default" exchange. This exchange is a direct exchange, so the routing key will route directly to the queue name. Because of this, the current sink will only be 1-to-1-to-1 (1 job to 1 exchange which routes to 1 queue). Additionally, I believe that if a user decides to use a different exchange I think the following can be assumed:

1.) The provided exchange exists
2.) The user has declared the appropriate mapping and the appropriate queues exist in RabbitMQ (therefore, nothing needs to be created)

RabbitMQ currently provides four types of exchanges. Three of these will be covered by just enabling exchanges (Direct, Fanout, Topic) because they use the routingkey (or nothing). 

The fourth exchange type relies on the message headers, which are currently set to null by default on the publish. These headers may be on a per message level, so the input of this stream will need to take this as input as well. This forth exchange could very well be outside of the scope of this Improvement and a "RabbitMQ Sink enable headers" Improvement might be the better way to go with this.

Exchange Types: https://www.rabbitmq.com/tutorials/amqp-concepts.html

  was:
The RabbitMQ Sink can currently only publish to the "default" exchange. This exchange is a direct exchange, so the routing key will route directly to the queue name. Because of this, the current sink will only be 1-to-1-to-1 (1 job to 1 exchange which routes to 1 queue). Additionally, I believe that if a user decides to use a different exchange I think the following can be assumed:

1.) The provided exchange exists
2.) The user has declared the appropriate mapping and the appropriate queues exist in RabbitMQ (therefore, nothing needs to be created)

RabbitMQ currently provides four types of exchanges. Three of these will be covered by just enabling exchanges (Direct, Fanout, Topic) because they use the routingkey (or nothing). 

The fourth exchange type relies on the message headers, which are currently set to null by default on the publish. These headers may be on a per message level, so the input of this stream will need to take this as input as well. This forth exchange could very well be outside of the scope of this Improvement and a "RabbitMQ Sink enable headers" Improvement might be the better way to go with this.


> RabbitMQ Sink ability to publish to a different exchange
> --------------------------------------------------------
>
>                 Key: FLINK-3769
>                 URL: https://issues.apache.org/jira/browse/FLINK-3769
>             Project: Flink
>          Issue Type: Improvement
>          Components: Streaming Connectors
>    Affects Versions: 1.0.1
>            Reporter: Robert Batts
>              Labels: rabbitmq
>
> The RabbitMQ Sink can currently only publish to the "default" exchange. This exchange is a direct exchange, so the routing key will route directly to the queue name. Because of this, the current sink will only be 1-to-1-to-1 (1 job to 1 exchange which routes to 1 queue). Additionally, I believe that if a user decides to use a different exchange I think the following can be assumed:
> 1.) The provided exchange exists
> 2.) The user has declared the appropriate mapping and the appropriate queues exist in RabbitMQ (therefore, nothing needs to be created)
> RabbitMQ currently provides four types of exchanges. Three of these will be covered by just enabling exchanges (Direct, Fanout, Topic) because they use the routingkey (or nothing). 
> The fourth exchange type relies on the message headers, which are currently set to null by default on the publish. These headers may be on a per message level, so the input of this stream will need to take this as input as well. This forth exchange could very well be outside of the scope of this Improvement and a "RabbitMQ Sink enable headers" Improvement might be the better way to go with this.
> Exchange Types: https://www.rabbitmq.com/tutorials/amqp-concepts.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)