(極客時(shí)間)短 URL 生成器設(shè)計(jì)

一、需求
設(shè)計(jì)一個(gè)短URL生成器(Fuxi)
短 URL 生成器,也稱作短鏈接生成器,就是將一個(gè)比較長的 URL 生成一個(gè)比較短的 URL,當(dāng)瀏覽器通過短 URL 生成器訪問這個(gè)短 URL 的時(shí)候,重定向訪問到原始的長 URL 目標(biāo)服務(wù)器,訪問時(shí)序圖如下。

image.png

二、方案設(shè)計(jì)

2.1 架構(gòu)圖


image.png

1)緩存使用redis
2)短鏈與長鏈映射存儲(chǔ)在hbase
3)短 URL 預(yù)加載服務(wù)器此前已經(jīng)從短 URL 預(yù)生成文件服務(wù)器(HDFS)中加載了一批短 URL 存放在自己的內(nèi)存中,這時(shí),只需要從內(nèi)存中返回一個(gè)短 URL 即可,同時(shí)將短 URL 與長 URL 的映射關(guān)系存儲(chǔ)在 HBase 數(shù)據(jù)庫中


image.png

4)過期短url定期清理并重復(fù)利用寫入到hdfs
5) 如果緩存沒有用戶請求訪問的短 URL,短 URL 服務(wù)器將訪問 HBase 短 URL 數(shù)據(jù)庫服務(wù)器集群。如果數(shù)據(jù)庫中存在該短 URL,短 URL 服務(wù)器會(huì)將該短 URL 寫入緩存服務(wù)器集群,并構(gòu)造重定向響應(yīng)返回給客戶端應(yīng)用。如果 HBase 中沒有該短 URL,短 URL 服務(wù)器將構(gòu)造 404 響應(yīng)返回給客戶端應(yīng)用


image.png
短url生成器.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容