[ 
https://issues.apache.org/jira/browse/ARTEMIS-550?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15633235#comment-15633235
 ] 

ASF GitHub Bot commented on ARTEMIS-550:
----------------------------------------

Github user mattrpav commented on the issue:

    https://github.com/apache/activemq-artemis/pull/875
  
    I'll detail out the use cases:
    
    1) selectorAware:  This allows an interested subscriber to only receive 
messages in their queue that match a given selector. This broker pre-filtering 
is a server-side optimization which reduces the on-disk requirements for really 
busy Virtual Topics.
    
    2) transactedSend: This is a (imho & experience) critical reliability 
requirement. In use cases where reliability is a crticial requirement: when a 
producer sends a message to the broker, even during non-transacted sessions, 
the broker should transact the dispatch to the consumer queues before ack'n the 
producer. This ensures no messages are lost in the event of unplanned outage 
while a broker is dispatching messages to the consumer queues.
    
    3) concurrentSend: This is a critical performance enhancement for Virtual 
Topics where there are a large number of consumer queues. The behavior is that 
the broker processes queue dispatch in parallel to consumer queues in order to 
improve throughput and lower latency.  
    
    [Notes]
    
    i. transactedSend and concurrentSend are often used in conjunction
    
    ii. selectorAware requires some sort of persistence store so selectors are 
maintained across restarts (specifically useful during maintenance and failover 
testing)
    
    iii. While outside the scope of this PR, I thought I'd mention it here as 
it is related-- there has long been a desire to enhance ActiveMQ to support 
single-message store. That is, for all subscriptions, only store a single copy 
of a message. This becomes really apparent in use cases with a large number of 
Virtual Consumers.



> Add support for virtual topic consumers
> ---------------------------------------
>
>                 Key: ARTEMIS-550
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-550
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: Broker
>    Affects Versions: 1.3.0
>            Reporter: Benjamin Graf
>
> Artemis should support virtual topic consumers as alternative to topic 
> subscriptions as ActiveMQ itself does.



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

Reply via email to