Grokbase Groups Camel dev May 2016
FAQ

On Mon, May 30, 2016 at 10:16 AM, Luca Burgazzoli wrote:
do you mean something like serviceCallRef("myServiceCall") ?
---
No you need to provide

- a) name of service to call
- b) reference to configuration of service

a = mandatory
b = optional. As if there is only 1 configuration then use that.


Luca Burgazzoli

On Sun, May 29, 2016 at 9:42 AM, Claus Ibsen wrote:
On Thu, May 26, 2016 at 7:30 PM, Luca Burgazzoli wrote:
---
Luca Burgazzoli

On Thu, May 26, 2016 at 7:06 PM, Claus Ibsen wrote:
Hi Luca

Yeah its good to get more eyes on this new set of code. When I created
kubernetes and ribbon there was sure some overlap of code that could
be shared, but I didn't push for much default/abstract code in
camel-core because there its new code and I also wanted to see what
consul, etcd, zookeeper and other distributed systems may
need/require.

I like the idea of the impl.remote package to have some base
implementation there.

Your current branch [2] has a good set of reusable code although its
tied to consul currently, so that would need to be made abstract so it
can be reuse by kuernetes and maybe also ribbon as well (where it
makes sense).
I've removed some consul specific stuffs that I left by mistake, should be
a little tidy now.

An aspect to take into account is how to make it easy to configure
ServiceCallServerListStrategy in case we use DefaultServiceCallProcessor
maybe something like:

serviceCall()
.name("my-service")
.roundRobinLoadBalancer()
.consulServerListStrategy()
.type(Strategy.ON_DEMAND)
.url("http://consul-host:8500")
.dc("west")
.end()

Too ugly ?
Yeah possible - its always tricky to find the right balance.

I wonder if you may want to do this in the configuration, and then in
the routes with serviceCall you then just need to refer to the service
name / url to be used - then all the round robin, service list, and so
on are configured outside the route in the configuration.

We could also leave those in the route DSLs as well so you can
override the configuration, so you can use

serviceCall().name("foo").consulConfiguraiton().dc("west").end()



But then on the other hand if you just want to call a single service
you may want to do it all in the route without the configuration. But
if we look at rest-dsl then it separates the configuration from the
REST endpoint.




An aspect we haven't added yet could be to find out if we can expose
some JMX attributes and operations for thise service call EIP as well?
And then maybe some Camel commands so you can manage/list it from
karaf and other CLIs. But this part is more "nice to have" and a bit
"eye candy" but still somewhat cool.





On Thu, May 26, 2016 at 4:13 PM, Luca Burgazzoli wrote:
Hello,

I'm playing a little bit with the new ServiceCall EIP by adding support for
consul service discovery and I've committed some code in my own branch [1].

I borrowed most of the code from camel-kubernetes and as it ended up being
almost a clone, I've tried to make some base/default classes as what really
make the difference is the implementation of ServiceCallServerListStrategy
and ServiceCallLoadBalancer so to add a simple discovery engine you only
need to implement your own ServiceCallServerListStrategy and eventually your
own ServiceCallLoadBalancer (i.e. for ribbon).

Does it make sense ?

[1] https://github.com/lburgazzoli/apache-camel/tree/CAMEL-9989
[2] https://github.com/apache/camel/compare/master...lburgazzoli:CAMEL-9989?expand=1

---
Luca Burgazzoli


--
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2


--
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2


--
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 6 of 19 | next ›
Discussion Overview
groupdev @
categoriescamel
postedMay 26, '16 at 2:13p
activeJun 7, '16 at 2:15p
posts19
users2
websitecamel.apache.org

2 users in discussion

Luca Burgazzoli: 10 posts Claus Ibsen: 9 posts

People

Translate

site design / logo © 2017 Grokbase