Randomizing Strings In A Microservices World

Tim Daneliuk info at tundraware.com
Mon Dec 9 22:35:56 EST 2019


On 12/9/19 8:50 PM, Paul Rubin wrote:
> Tim Daneliuk <info at tundraware.com> writes:
>> - Imagine an environment in which there may be multiple instances of a given
>>   microservice written in Python.
> 
> Decide the maximum number of microservice instances, say 1000.  Chop up
> the 10 digit range into 1000 pieces, so 0..999999, 1000000-1999999, etc.
> Give one range to each microservice instance.  Then have the
> microservices give out the numbers sequentially, but treating them as 10
> digit numbers and encrypting each one under a 10 digit pseudorandom
> permutation shared by all the instances.  Look up "format preserving
> encryption" for how to do this.
> 
> Obvious variants of the above are obvious, and maybe you need some way
> to hand around chunks of range if some instance gives out more than a
> million numbers.
> 


The problem here is that the services are ephemeral and the number of said
services is not fixed.



More information about the Python-list mailing list