Hi Hervé,
With DOSGi, a service is registered in the OSGi framework with a
"cluster aware" flag.
When you bind a reference to this service, first, the "DOSGi engine"
looks for a service in the local OSGi service registry.
In the local registry, the service could be local or a kind of "proxy"
to another a service on another node (in Cellar, it uses a distributed
Hazelcast map for that).
DOSGi is not designed for failover, but for distribution.
However, DOSGi/Cellar could be used in a kind of LB/HA/FailOver way by
adding some layer on top of that. For instance, I blogged about how to
use Cellar Hazelcast instance to communicate between two Camel routes:
http://blog.nanthrax.net/2012/02/communication-between-two-remote-camel-routes-using-karaf-cellar/
You can use Cellar 2.2.x with ServiceMix 4.3 as it runs on Karaf 2.2.x.
Regards
JB
On 02/21/2012 06:34 PM, Hervé BARRAULT wrote:
Hi,
I would use multiple servicemix instance to do the same job.
If an instance is overloaded, I would be able to call another instance to
continue the processing.
I thought exposing a remote OSGI service in the cluster (one by instance).
When one instance receive a message, it should call a local service.
If it is overloaded or other reason (i have my own rule to determine it),
it would call another instance to process it.
I have seen this document
http://blog.nanthrax.net/2011/11/apache-karaf-cellar-and-dosgi/.
Which are compulsory libraries for doing this mechanism (Cellar, a DOSGI
implementation (in CXF for example), ...) ?
If a “local” echoService exists, the OSGi framework will bind the
reference to this service, else Cellar will look for a distributed service
(on all node) exporting the EchoService>>interface and bind a proxy to the
distributed service.
Is this determination static or dynamic ? Is another instance called if a
communication error happen ?
For Information, I am currently using a 4.3 servicemix version (so i assume
that i should upgrade it).
Thanks for answers
Regards
Hervé
--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com