ExIdDis is an external distributed system that supports generating unique identifier sequences. It is mostly used to make different database applications use the same pool of identifiers.
The project's distributed system uses master-workers architecture with simple load-balancing mechanism. It supports both iterative and random sequences.
ExIdDis is an open-source project, released under Apache 2.0 licence.
ExIdDis consists of several modules:
- library module,
- master server application,
- worker server application,
- MySQL client,
- administrative console,
- python client.
ExIdDis is written mainly in Python, with MySQL client in C++ using UDF. It uses Twisted web framework to communicate between servers via XML-RPC protocol.
The project is probabily cross-platform, but was tested only on Linux. It would be nice to hear feedback from you about running it on other platforms.