| 1 | | = Choosing ZeroConf for Network discovery = |
| 2 | | Automatic synchronization between servers require automatic service discovery. We had two major options to choose from: |
| 3 | | 1) ZeroConf |
| 4 | | 2) Mesh4x |
| 5 | | |
| 6 | | ZeroConf & Mesh4x solve different problems. They don't overlap in functionality at all: |
| 7 | | ZeroConf provides a solution to automatic discovery. |
| 8 | | Mesh4x provides a solution to the data sync. |
| 9 | | |
| 10 | | We were more interested in Zeroconf because: |
| 11 | | 1) ZeroConf has Python library but Mesh4x doesn't. I means double work was required if we go with Mesh4x. |
| 12 | | 2) We just needed automatic discovery of service because we wanted to use web services, so that foreign developers can also use Restful API |
| 13 | | 3) Mesh4x required java daemon, which meant adding jre in the package which would double Sahana package size. |
| 14 | | |