Hi Raul,

More or less the same time you published the first email about
camel-hystrix component, I also created camel-hystrix component [1]
(it is not finished yet!). But I took the typical (boring ;-))
approach where the hystix support can be used as a regular component
through URI configuration. Since you announced first and started the
effort more visibly on jira/git/list I decided not to duplicate effort
and wait for your progress.

Now looking at your implementation, I see it is quite advance and
offers many intersting features, great work. But my concernds are
primarily around using the fluent API rather than Camel URIs. In my
opinion Camel URI is a nice abstraction and using it should be default
option for any component. It makes easy for existing Camel users to
strat using a component.
Also not sure how the fluent API can be used from XML based DSL, may
be I'm missing something.

IMHO, your implementation is more advanced, but also more complicated
to use. Using a builder, then setting some Histryx specific objects (I
think it was the HystrixObservableCommand.Setter), starting services
manually, seems too much work to me. I believe all that can be
expressed through a regular component.

Not sure way would be the better approach going forward. May be we can
merge both approaches and offer the regular URI based component usage
and also the additional fluent API.

WDYT?


[1] https://github.com/bibryam/camel-hystrix

Bilgin


On 25 August 2015 at 02:13, Raul Kripalani <r...@evosent.com> wrote:
> Hi team,
>
> Hystrix [1] is a powerful toolbox framework based on RxJava for building
> JVM-based fault-tolerant distributed systems, made OSS by Netflix.
>
> Due to the nature of Camel, our users inherently deal with distributed
> systems and therefore I thought integrating this framework into Camel would
> be useful.
>
> I wanted to go beyond the typical (boring ;-)) URI-based component. Hystrix
> has lots of features, some of which can take predicates (which in our world
> translate to Processors and Expressions), so a fluent DSL is especially
> appealing here.
>
> I'm doing this work in the feature/camel-hystrix branch at the ASF Git [2].
> I created a ticket with my functionality roadmap [3], and ticked out what
> has already been implemented.
>
> I foresee some difficulty with integrating Archaius (Netflix' config
> framework) with our Camel property placeholders and OSGi Config Admin. I'd
> also like to achieve Turbine integration to enable the awesome Hystrix
> dashboard across clusters [4].
>
> If you have ideas, feel free to post them. If you have spare cycles, feel
> free to contact me if you'd like to participate in the development so we
> can coordinate.
>
> [1] https://github.com/Netflix/Hystrix
> [2] https://github.com/apache/camel/tree/feature/camel-hystrix
> [3] https://issues.apache.org/jira/browse/CAMEL-9098
> [4] https://github.com/Netflix/Hystrix/tree/master/hystrix-dashboard
>
> Regards,
>
> *Raúl Kripalani*
> Apache Camel PMC Member & Committer | Enterprise Architect, Open Source
> Integration specialist
> http://about.me/raulkripalani | http://www.linkedin.com/in/raulkripalani
> http://blog.raulkr.net | twitter: @raulvk



-- 
Bilgin Ibryam
Camel Committer at ASF & Integration Architect at Red Hat
Blog: http://ofbizian.com | Twitter: @bibryam

Camel Design Patterns https://leanpub.com/camel-design-patterns
Instant Apache Camel Message Routing http://www.amazon.com/dp/1783283475

Reply via email to