[ 
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)

Reply via email to