Reputation: 167
I have the following use case where I would like to know if apache zookeeper can be used.
I need a simple batch processing application distributed across multiple servers, so each process reads a subset of data from a db, processes it and finally aggregates data into another database. The processes are not totally independent, they need to synchronize and set up barriers etc.
There is no client involved in this case, The servers need to coordinate among themselves and finish the process.
I went over the documentation, and most of it implies that zoo keeper has two actors "External Clients" and the "Cluster".
Upvotes: 1
Views: 122
Reputation: 395
based on my understanding of your question and use case.
Yes, Apache Zookeeper can be used in your scenario as it is a high-performance coordination server for distributed applications. You could set up a zookeeper client-server architecture. So that your applications which are distributed across multiple servers can synchronize with Zookeeper server to perform the required task.
However, I'm not quite sure what you mean by "processes are not totally independent". If the processing are required to be done in a sequential manner, Watches can be set. So that when the watch triggers, Zookeeper can notify the other clients, and you can carry on with other processing etc. Zookeeper Fundamentals
Upvotes: 1