Tim Daneliuk wrote: > I ran across a kind of fun problem today that I wanted to run past you > Gentle Geniuses (tm): > > - Imagine an environment in which there may be multiple instances of a > given > microservice written in Python. > > - Each of these services needs to produce a string of ten digits > guaranteed to be unique > on a per service instance basis AND to not collide for - oh, let's say - > forever :)s > > Can anyone suggest a randomization method that might achieve this > efficiently? > > My first thought was to something like nanonseconds since the epoch plus > something > unique about the service instance - like it's IP? (This is in a K8s > cluster) - to see the randomization and essentially eliminate the string > being repeated. > > Ideas welcome .. > > P.S. I do not want to resort to a number generation service that each > instance asks > for a new number. The network and service call overhead militates > against this in my application.
Hand out a range of numbers when the service is started. Once that range is used up the service can terminate itself. -- https://mail.python.org/mailman/listinfo/python-list