Ask HN: Ensuring unique account logins across the globe
How have other applications handled ensuring uniqueness of data (specifically login ids) across multiple distributed deployments of an application on the global stage while letting this data be driven by the public?
I keep coming back to this: Google and Yahoo let people generate accounts where (presumably) the email address is the id for the account, yet, these ids must be globally unique and the ids are registered very quickly, creating these accounts while a user sits at a browser waiting on a form post at the end of which, the account is registered (i.e. synchronous from the user perspective and complete within the default timeout for a browser request)
We're batting around ideas of using async messaging, highly available databases of hashes of in-use userid, LDAP with replication between datacenters, and some other strategies. Nothing feels completely solid nor have I been able to locate much on this topic online.
Do you have any thoughts on this type of distributed problem? In 2010, this feels like it should already be a solved problem and that I'm just ignorant of the solution. Does anybody know of papers or essays related to dealing with this type of issue or have thoughts on how they've seen this approached at other big companies?
5 comments
[ 3.1 ms ] story [ 21.2 ms ] threadThere can only be so many people that want a specific username out there that are going to be registering in the same few seconds or few minutes it takes before your data syncs up.
Unless you really have a compelling reason to do all this stuff, it kind of sounds like you're over-engineering it to me.
Why can't you just have 1 registration server and call out to it asynchronously? Even across the globe you're talking about a delay of less than a second.
Thanks for the help icey
Found the link -- does this concept work for you? http://code.flickr.com/blog/2010/02/08/ticket-servers-distri...