You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Riccardo Sirchia (JIRA)" <ji...@apache.org> on 2013/05/09 17:25:15 UTC

[jira] [Commented] (CAMEL-5828) Offer LMAX Disruptor pattern as an endpoint in CAMEL

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

Riccardo Sirchia commented on CAMEL-5828:
-----------------------------------------

I've progressed pretty far with the implementation, unit tests and documentation (thanks Eric for your help). The end result compares favorabel to the SEDA component in terms of throughput and latency, especially where multiple consumers are involved.
 
I've made a component 'disruptor' that should serve as a drop-in replacement for the 'seda' endpoint. In order to enable even more use-cases I want to provide an additional component to replace the 'vm' component as well. Its implementation (DisruptorVmComponent) is as minimal an increment to the DisruptorComponent as the VmComponent is to the SedaComponent. My 1st question is: should I make two separate projects producing a disruptor.jar and a disruptor-vm.jar where the latter has a dependency on the 1st or is it ok for the disruptor.jar to contain both components (similar to camel-core.jar)?

Finally I was wondering if there is a possibility/are plans to be able to realize an override of the default multicast behaviour to use the Disruptor instead of the normal SEDA-like implementation? This would allow applications using multicast routes to utilize the power of the Disruptor without having to re-define their routes to the Disruptor based multicasting equivalent.

Once I got the answers to my questions processed into the code base, I'll offer it for inclusion in Apache Camel. Would you prefer a big patch file or Github pull request? Any additional things I should take into account?
                
> Offer LMAX Disruptor pattern as an endpoint in CAMEL
> ----------------------------------------------------
>
>                 Key: CAMEL-5828
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5828
>             Project: Camel
>          Issue Type: New Feature
>            Reporter: Eric
>             Fix For: Future
>
>
> My system is an hybrid of CAMEL and LMAX Disruptor, where threads consuming from LMAX ringbuffer are feeding a "pool" of SEDA queues in a round-robin fashion.  This system operates at very high-speed such as consumers from the SEDA queues and their producers are constantly blocking on the queues.  Having a non-blocking, high-performance endpoint like LMAX Disruptor would be a great addition to CAMEL.
> LMAX Disruptor website: http://lmax-exchange.github.com/disruptor/

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira