一驯妄、需求
設(shè)計(jì)一個(gè)短URL生成器(Fuxi)
短 URL 生成器监署,也稱作短鏈接生成器贼涩,就是將一個(gè)比較長(zhǎng)的 URL 生成一個(gè)比較短的 URL描睦,當(dāng)瀏覽器通過(guò)短 URL 生成器訪問(wèn)這個(gè)短 URL 的時(shí)候,重定向訪問(wèn)到原始的長(zhǎng) URL 目標(biāo)服務(wù)器嚼蚀,訪問(wèn)時(shí)序圖如下禁灼。
二、方案設(shè)計(jì)
2.1 架構(gòu)圖
1)緩存使用redis
2)短鏈與長(zhǎng)鏈映射存儲(chǔ)在hbase
3)短 URL 預(yù)加載服務(wù)器此前已經(jīng)從短 URL 預(yù)生成文件服務(wù)器(HDFS)中加載了一批短 URL 存放在自己的內(nèi)存中轿曙,這時(shí)弄捕,只需要從內(nèi)存中返回一個(gè)短 URL 即可,同時(shí)將短 URL 與長(zhǎng) URL 的映射關(guān)系存儲(chǔ)在 HBase 數(shù)據(jù)庫(kù)中
4)過(guò)期短url定期清理并重復(fù)利用寫(xiě)入到hdfs
5) 如果緩存沒(méi)有用戶請(qǐng)求訪問(wèn)的短 URL导帝,短 URL 服務(wù)器將訪問(wèn) HBase 短 URL 數(shù)據(jù)庫(kù)服務(wù)器集群守谓。如果數(shù)據(jù)庫(kù)中存在該短 URL,短 URL 服務(wù)器會(huì)將該短 URL 寫(xiě)入緩存服務(wù)器集群您单,并構(gòu)造重定向響應(yīng)返回給客戶端應(yīng)用斋荞。如果 HBase 中沒(méi)有該短 URL,短 URL 服務(wù)器將構(gòu)造 404 響應(yīng)返回給客戶端應(yīng)用