I am making changes to a Java project and it is not required to use DB for shedlock for running tasks at one node. Can I use only ZoopKeeperCurator to run the scheduled task at only one node at a time?
I have earlier used JdbcTemplateLockProvider just wondering how zookeeper maintains data of which instance is running. Does it use any in memory data? Which is better to use DynamoDB or ZooKeeper for running tasks at a single instance in multi instance environment?
Yes zookeeper has only one master and you can run scheduled jobs there. Or you can get a distributed lock and run there. Find more details here
if you have more then 4 servers I would suggest go with DB. This will lower the network load between nodes. And there is a framework invented for scheduled jobs