Hi,
While hacking around a multi-gateway solution, I'm finding it will need alot of xmlrpc nodes, zeroconf advertising of all of these and interaction between all of them.
Which brought me back to thinking about redis. I don't know much about redis yet, but probably pertinent points for us include:
- Server side it runs like a database stored in ram (lists, dictionaries, ...). Fast and convenient.
- It has pubsub style connections which I believe allow clients to receive callbacks on data store changes.
- Many client languages supported.
If this works, then zeroconf advertisements would be reduced to just advertising the redis server. Clients autodiscover the redis server and dump gateway and monitoring information there.
All multimaster data and synchronisation processes could be accumulated and triggered from there.
The advantages - much simpler, far less code, easy to introspect and has other potential uses.
The disadvantages - requires launching of a separate component (the redis server) to do multimaster synchronisations.
Note that the alternative, with xmlrpc nodes launched at each robot, no additional infrastructure is needed for multimaster synchronisations. Is launching a separate component inconvenient enough to disregard this option?
Thoughts?
Regards,
Daniel.