On Wed, Jul 31, 2013 at 4:16 AM, Baskar Duraikannu <[email protected]> wrote: > > We are looking to use zookeeper for optimistic concurrency. Basically when > the user saves data on a screen, we need to lock, read to ensure that no one > else has changed the row while user is editing data, persist data and unlock > znode. >
Why not use the built in optimistic locking that ZK provides? See the "version" parameter here: http://zookeeper.apache.org/doc/r3.4.5/api/org/apache/zookeeper/ZooKeeper.html#getData(java.lang.String, boolean, org.apache.zookeeper.AsyncCallback.DataCallback, java.lang.Object) http://zookeeper.apache.org/doc/r3.4.5/api/org/apache/zookeeper/ZooKeeper.html#setData(java.lang.String, byte[], int, org.apache.zookeeper.AsyncCallback.StatCallback, java.lang.Object) > If the app/thread does not get a lock, we may set a watch so that polling is > avoided. > > Our application is write intensive certain times of the day. We may get about > 100k requests per second. Can zookeeper handle this volume? Unlikely you'll see this level of performance: http://zookeeper.apache.org/doc/r3.4.5/zookeeperOver.html#Performance Patrick
