Hi JB, I didn't know about the proxy feature, but my idea was for the final (micro-services) architecture to have one (or more) karaf instance that relays REST requests to karaf instances that have the REST entry point declared.
For example : - Karaf instance A - Bundle foo declares service on /foo - Bundle bar declares service on /bar - Karaf instance B - Bundle bar declares service on /bar - Karaf instance C - Bundle foo declares service on /foo Ideally what I wanted is that my REST client could call any instance A,B or C and then the call would be relayed to any instance that provides a service on the entry point. For example : - if I call http://C/foo it could be relayed to C/foo or A/foo - if I call http://C/bar it would be relayed to A or B since /bar it's not available locally Maybe I would need other karaf instances, let's say an instance D that will not declare any service locally but would just relay calls, that could also work for me. Do you think such a thing would be possible with cellar (if tweaking cxf is possible of course) ? Or maybe the proxy solution could be interesting if I can automate proxy declaration (for example using cellar I could send registration messages on hazelcast, or maybe use dosgi or any another solution). But I didn't find a way to add two destinations for a single source, I tried to call proxy-add twice with the -lb option or adding two urls at once but none of these options seems to work. Is it possible to add multiple load-balanced destinations for a single entry point with the proxy feature ? (so that a call to C/proxied-foo could redirect to C/foo or A/foo) Regards, JB Le mar. 23 juin 2020 à 17:25, Jean-Baptiste Onofre <j...@nanthrax.net> a écrit : > Hi, > > FYI, you have the proxy feature in Karaf directly (without Cellar). > > Rest is using CXF servlet. The CXF servlet should be registered with the > flag to be taken by Cellar whiteboard (provided by Aries JAXRS whiteboard). > Let me check if it’s possible to tweak the CXF servlet registration made > by Aries JAXRS Whiteboard. > > Regards > JB > > Le 23 juin 2020 à 17:10, Jean-Baptiste Simillon < > jean-baptiste.simil...@keepeek.com> a écrit : > > Hi, > > I've been trying for hours to make my REST service (that was made thanks > to whiteboard) available on cellar http balancer but can't figure out what > is not working. > So as a last resort I tried to make the karaf-rest-example-whiteboard > work, and to my surprise it didn't work either over http balancer. > > So basically what I do is install 2 karaf with cellar on 2 computers > feature:repo-add cellar > feature:install cellar > feature:install http > feature:install http-whiteboard > feature:install cellar-http-balancer > > Then I add the example on one node > feature:repo-add > mvn:org.apache.karaf.examples/karaf-rest-example-features/LATEST/xml > feature:install karaf-rest-example-whiteboard > > My nodes see each others > karaf@root()> cluster:node-list > │ Id │ Alias │ Host Name │ Port > ──┼──────────────────┼───────┼─────────────┼───── > x │ 10.0.35.203:5701 │ │ 10.0.35.203 │ 5701 > │ 10.0.200.15:5701 │ │ 10.0.200.15 │ 5701 > > But no services are available on the cluster : > karaf@root()> cluster:http-list default > > Alias │ Locations > ──────┼────────── > karaf@root()> > > And when I try to connect through curl it works only from the node where > the example is installed. > It seems to work fine when I try to use the blueprint example, but I find > the whiteboard example way easier to maintain (no xml files needed, just > standard annotations). Do you have any idea what could be missing to make > the whiteboard example working on cellar http balancer ? > > Regards > > > > > >