With all the community help I was able to integrate ZK to Apache Airavata to achieve fault-tolerance and it was a very interesting experience to work with ZK. It works as it explains without any issue.
Now I have an issue how to bundle and ship it. Currently what I have asked the community is to start ZK instance then run our services. Personally I like that approach and its much cleaner and in production we can cluster both Airavata and ZK. But for the curiosity I want to know is there a better way to bundle like an embedded zk which is stable enough for day today development or there is a better way to do it.
 Regards Lahiru
System Analyst Programmer PTI Lab Indiana University