国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

淺談短鏈的設計

開發 前端
在很多社交平臺上,對于發送的文本是有長度限制,過長的 URL 很容易被截斷,然后觸達就無效了。

背景

目前在很多場景下,都需要短鏈,尤其是涉及到一些 URL 下發的邏輯。為什么需要短鏈呢?考慮到一個 URL 上有 path、query 等參數,各種參數拼接在一起就成了一個長不拉幾的字符串。

在很多社交平臺上,對于發送的文本是有長度限制,過長的 URL 很容易被截斷,然后觸達就無效了。當用戶收到一個短鏈,心情可能更加愉悅:

短鏈組成

知己知彼百戰百勝,先來看看一個短鏈有哪些信息。

協議 + 域名 + path,協議可以直接忽略。域名是必須的(廢話),并且足夠短,否則的話就變成了長的短鏈(挺傻的)。最后 path 的部分才是關鍵,看起來是一個由 6 個字符組成的字符串,并且字符的范圍是大小寫字母+數字。

足夠短的域名需要什么條件?大概率錢夠就行。涉及到錢的部分,這里就不深入探究了。所以來研究一下這個 path 的生成。

Path 的生成

獲取一個序號

哈希算法

Path 的其中一種方式就是通過哈希算法計算得到。常見的哈希函數有 MD5、SHA1 等大家常見的加密型哈希算法,也有 HighwayHash、MurmurHash 等非加密型哈希函數。以 MurmurHash 為例,目前已經迭代到 MurmurHash 3,能夠產生 32bit 和 128 bit 的哈希值,并且對于規律性較強的 key,隨機分布的特征表現的很不錯。

不過哈希沖突是不可控的,我們雖然有 N 種解決哈希沖突的方式,但是會增加整個系統的整體復雜度。

自增 ID

也可以維護一個 ID 自增生成器,對于每一個長鏈生成1、2、3等自增的序號,然后把長鏈和序號的映射保存在數據庫里面,然后得到如 https://fake.short/1、https://fake.short/2 等短鏈。考慮到單機容易造成單點故障,所以一般都是分布式的 ID 生成器。

Mysql 自增

假設有 10 臺 Mysql 服務器,每一臺初始值分別為 0……9,然后每生成一個需要就遞增 10,這樣確保這 10 臺 Mysql 服務器產生的 ID 不重復。但這個方案缺點比較明顯,就是 ID 是有跡可循的,爬蟲的可以順著順序依次請求得到;水平擴展不容易,如之前約定 10 臺機器,每臺機器生產的步長是 10,如果需要增加一臺機器,比較困難;數據庫壓力還是很大,每次獲取ID都得讀寫一次數據庫,只能靠堆機器來提高性能。

基于雪花算法

SnowFlake 是 Twitter 公司采用的一種算法,目的是在分布式系統中產生全局唯一且趨勢遞增的ID。

第一位占用 1bit,其值始終是0,沒有實際作用。2.時間戳 占用 41bit,精確到毫秒,總共可以容納約 69 年的時間。3.工作機器id 占用10bit,其中高位 5bit 是數據中心ID,低位 5bit 是工作節點ID,最多可以容納 1024 個節點。4.序列號 占用12bit,每個節點每毫秒0開始不斷累加,最多可以累加到4095,一共可以產生 4096 個ID。

SnowFlake算法在同一毫秒內最多可以生成 1024 X 4096 = 4194304 個全局唯一ID。

國內也有不少基于(類)雪花算法的開源分布式唯一ID生成器:

  1. UidGenerator

由百度開源的分布式 UID 生成器。https://github.com/baidu/uid-generator

  1. Leaf

Leaf 是美團開源的分布式ID生成器,能保證全局唯一,趨勢遞增,但需要依賴關系數據庫、Zookeeper等中間件。https://tech.meituan.com/2017/04/21/mt-leaf.html

進一步縮短

如果我們得到『1536389934』這個序號的話,看起來還是有點長,如果想進一步縮短,可以把十進制數轉換成62進制數。然后就得到一個比原序號更短的 ID 了。

為什么要用62進制轉換?

  • 62進制轉換是因為62進制轉換后只含數字+小寫+大寫字母。而64進制轉換會含有/,+這樣的符號(不符合正常URL的字符)encodeURIComponent('+') => %xx
  • 10進制轉62進制可以縮短字符,如果我們要6位字符的話,已經有560億個組合了。

重定向是 301 還是 302

眾所周知,301 是永久重定向,瀏覽器會把重定向后的地址緩存下來,下次訪問的時候,就不會向原地址發起請求;按理來說通過 301 的重定向性能會更好,對服務的壓力也更小。

但是,正因為 301 會在瀏覽器中有緩存,所以服務端就沒辦法知道有多少用戶是通過這個短鏈訪問的,在現如今什么數據都可以分析一波的時代,這些數據的缺失,就失去了分析活動的能力。所以一般都通過 302 進行重定向,便于記錄使用的數據,稍微增加點 Server 的壓力。(沒有什么是不能通過加機器解決的

責任編輯:龐桂玉 來源: 前端大全
相關推薦

2023-08-10 10:13:35

轉轉短鏈平臺

2022-09-13 17:45:40

長網址短鏈系統

2025-06-23 08:23:04

2022-09-13 08:01:58

短鏈服務哈希算法字符串

2024-07-22 11:48:42

2024-11-19 16:31:23

2024-11-12 08:13:09

2025-06-04 03:15:00

高并發短鏈系統

2025-09-15 10:05:00

后端URL短鏈

2015-05-15 13:21:22

URL系統設計

2021-06-18 11:17:36

URL數據庫MySQL

2024-06-28 09:59:35

2023-07-26 13:29:43

高性能短鏈系統

2009-06-26 10:48:45

職責鏈模式.NET

2025-09-28 01:50:00

2009-07-15 15:47:12

JDBC DAO

2011-06-29 17:51:55

SEO外鏈

2018-12-06 14:47:34

區塊鏈中介信任

2023-02-27 09:10:57

前端組件設計

2010-07-12 16:27:23

鏈路狀態路由選擇協議
點贊
收藏

51CTO技術棧公眾號

亚洲老司机在线| 欧洲视频在线免费观看| 亚洲美女电影在线| 久久久久成人黄色影片| 精品综合久久久| 99国产精品免费网站| 亚洲高清久久久久久| 香蕉视频在线观看网站| 国产片一区二区三区| 欧美黄网在线观看| 精品无人区卡一卡二卡三乱码免费卡| 欧美在线一区二区视频| 日韩一区二区三区精品| 69久久夜色精品国产69| 欧美激情精品| 一区二区三区久久久| 亚洲欧美国产一本综合首页| 日本三级中文字幕在线观看| 精品视频91| 成人中文字幕在线| 欧美久久高跟鞋激| 91影院未满十八岁禁止入内| 一级二级三级在线观看| 图片区亚洲欧美小说区| 亚洲国产激情av| 欧美精品在线免费播放| 亚洲人成77777男人| 久久影院一区| 欧美日韩一区二区电影| 四虎一区二区| jizz性欧美23| 欧美成人官网二区| 国产福利图片| 美美哒免费高清在线观看视频一区二区 | 国产午夜精品久久| 99久久久无码国产精品6| 91麻豆免费观看| 国产3p露脸普通话对白| 亚洲免费观看在线观看| 国产香蕉在线| 国产精品毛片a∨一区二区三区| 欧美日韩三区四区| 忘忧草精品久久久久久久高清| 国产亚洲欧美日韩美女| 国产视频中文字幕在线观看| 2020日本不卡一区二区视频| 亚洲区成人777777精品| 久久一区二区三区超碰国产精品| 日韩免费在线视频| 麻豆视频久久| 精品国产乱码久久| 丁香花视频在线观看| 色婷婷久久久综合中文字幕| 玖玖玖精品中文字幕| 亚洲免费在线看| 韩国版免费三体| 国产欧美日韩视频在线观看| 欧美精品自拍视频| av一区二区三区| 日本一区二区不卡| 成人福利视频网站| 亚洲自偷自拍熟女另类| 国产不卡高清在线观看视频| 久久综合久久美利坚合众国| 久久久噜噜噜久久狠狠50岁| 日本高清一区| 欧美a一区二区| 一区二区日本| 久久色在线视频| 亚洲va欧美va在线观看| 亚洲私人黄色宅男| 免费在线看v| 欧美日韩的一区二区| 91破解版在线观看| 亚洲黄色在线看| 在线精品国产亚洲| 日韩精品资源| 2020国产精品久久精品美国| 精品亚洲欧美日韩| 91精品在线一区二区| 裤袜国产欧美精品一区| 日韩欧美成人区| 午夜免费欧美电影| 免费观看精品视频| 婷婷成人综合网| 妞干网免费在线视频| 69久久夜色精品国产7777| 成人免费在线观看视频| 亚洲少妇第一页| 欧美午夜影院在线视频| 国产精品videossex撒尿| 国产精品久久亚洲| 国产69精品久久久久777| 一区二区冒白浆视频| 亚洲天天在线日亚洲洲精| 欧美日韩一区二区三区视频播放| 肉大捧一出免费观看网站在线播放 | 麻豆精品视频在线观看免费| 亚洲an天堂an在线观看| 国产午夜精品美女视频明星a级| 美女爽到呻吟久久久久| 国内外成人激情视频| 一区二区在线观看免费视频播放 | 欧美视频一区二区三区四区| 婷婷激情图片久久| 欧美写真视频一区| 91av在线免费观看视频| 国产精品久久99| 精品一区在线| 青青九九免费视频在线| 成人免费午夜电影| 精品久久久久久久一区二区蜜臀| 精品一区二区日韩| 美女18一级毛片一品久道久久综合| 欧美一二三不卡| 久久国产精品久久久| 日韩毛片视频在线看| 美女网站色91| 欧美日韩国产免费观看视频| 粗暴91大变态调教| 97视频国产在线| 亚洲精品suv精品一区二区| 久久 天天综合| 国精品产品一区| 国产成人一区二区三区小说| 久久中文字幕在线| 亚洲黄网站在线观看| 国产精品主播在线观看| 夜夜爽99久久国产综合精品女不卡 | 欧美一区二区影院| 亚洲精品91美女久久久久久久| 欧美成人bangbros| 99久久777色| 亚洲97av| 黄色av免费在线| 91.com在线| 国产成人精品一区二区在线| 色天使色偷偷av一区二区| 一区二区三区欧洲区| 国产精品4hu.www| 色中文字幕在线观看| www.久久久久| 亚洲国产精品成人精品| 92精品国产成人观看免费 | 亚洲午夜精品久久久久久性色| 69堂成人精品免费视频| 亚洲福利视频免费观看| 国产精品蜜臀av| 亚洲国产91| 成人免费黄色网页| 免费看又黄又无码的网站| 国产一区视频在线播放| 亚洲免费电影一区| 在线视频你懂得一区二区三区| 欧美日韩高清一区二区不卡| 国产高清无密码一区二区三区| 999国产精品视频| 天堂资源在线观看| av黄色在线| 小明精品国产一区二区三区| 欧美私人情侣网站| 久久91亚洲人成电影网站| 亚洲人免费视频| 国产在线视频一区| 中文亚洲视频在线| 亚洲视频 欧洲视频| 亚洲男同性视频| 精品999网站| 国产精品免费网站在线观看| 欧美日韩网站| 欧美一级本道电影免费专区| 国产v日韩v欧美v| 国产一区二区三区日韩精品 | 成人免费看片网址| 91丨九色丨国产在线| 国产欧美一区二区三区久久 | 日韩小视频在线播放| 色婷婷综合久久久久中文字幕 | 无夜福利视频观看| 在线视频你懂| 日韩在线免费看| 中文字幕伊人| 精品影院一区| 日本在线视频站| 丁香激情视频| 亚洲超碰在线| 嫩草研究院在线| 国产一区日韩一区| 国内久久婷婷综合| 26uuu另类欧美亚洲曰本| 一区二区三区视频在线观看| 欧美日韩精品一区视频| 亚洲国产成人精品久久久国产成人一区 | 在线成人av观看| 牛牛影视久久网| 亚洲看片一区| 国产女主播在线一区二区| 精品午夜久久福利影院| 欧美精品中文字幕一区| 99爱精品视频|