Hi all.
My app manages a lot of small executing objects. Each object of execution stores configuration in consul kv.The configuration is moderate size xml (up to 50kb). In order to be update, my app would like to monitor changes in configuration and react appropriately.
Currently the app gets a snapshot of configuration at start (several thousands of kv pairs) and monitors changes with ?recurse&Index=<max_modify_index>. When user make any change, blocking query returns with a full snapshot of configuration. I have to compare two snapshots (using ModifyIndex field) and filter out unchanged packets. This works but quite inefficient because users can make many small changes to individual objects, and each such change leads to downloading full snapshot .
So is there any way to do better here?
It would be good to have blocking query which returns key and modify index pair for each record in consul, something like
http://127.0.0.1:8500/v1/kv/<prefix>/?recurse&pretty&keys&indexes&index=<someIndex>It would solve my problem.