Randomizing Strings In A Microservices World
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.