Search code examples
osgiapache-servicemix

How to use OSGI to achieve zero down time?


I am thinking about using servicemix for my production server, I wonder if I use OSGI servlets does that mean I can deploy a new version of my application without downtime? If not, is there a way to achieve zero-downtime server? thanks.


Solution

  • OSGi dynamic services might help you to upgrade your server without restarting it. This however indicates that your application is at the top of OSGi ladder. Dynamically acquiring the service is not enough. Application should preserve its state while achieving dynamism. Refer the OSGi maturity model by graham charters. [1]

    In the real world zero downtime is achieved by replication/clustering. example setup is like, Two serviceMix servers , fronend by a load-balancer. When we are upgrading one server you point the load balancer to other vice versa. just an example.

    [1] http://www.infoq.com/news/2011/09/mmm-osgi