2012-03-30 51 views
1

目前,我運行的Web應用嚴重依賴於鏈接到原始內容的短網址,因此這些網址需要儘可能短。在分佈式數據存儲中生成短URL

目前,我使用一個簡單的MySQL數據存儲來存儲這些對象,並使用遞增計數器 - >基數62轉換來生成隨時間增長的短url。我們需要轉向更分散和可擴展的環境。

爲分佈式數據存儲中的內容生成小的,唯一的短Url的最佳方式是什麼?具體而言,我們計劃使用MongoDynamoDB

回答

4

我建議你看看希洛算法這裏的喬恩斯基特的描述:What's the Hi/Lo algorithm?

對於蒙戈的具體使用情況,請參見http://dllhell.net/2010/07/23/on-sequences-with-mongodb-and-norm/

+0

我開始將運行網絡服務工作在分佈式應用程序(應用程序服務器)中的每個節點上,並且代碼會從服務請求一個ID,服務會分配一個範圍,比如4501-5000,然後使用這些範圍,然後從某個原子計數器存儲獲得更多......雖然我不確定這是否是最好的方法。 – tarnfeld 2012-03-30 22:39:45

+0

這是基本的想法,是的。 – 2012-03-30 22:43:50

+0

很酷!作爲參考 - https://github.com/tarnfeld/snowey :-)目前我有一個redis實現(對於原子範圍存儲),但我正在使用dynamodb。 – tarnfeld 2012-03-30 23:06:27