日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > 架構(gòu)師社區(qū)
[導(dǎo)讀]我是一個(gè)web服務(wù)器,我的工作是給人類提供上網(wǎng)服務(wù),我每天要為數(shù)以萬(wàn)計(jì)的人提供網(wǎng)頁(yè)瀏覽服務(wù)。已經(jīng)是深夜了,我還在和手下幾個(gè)兄弟為了一件事緊張討論著。

我是一個(gè)web服務(wù)器

我是一個(gè)web服務(wù)器,我的工作是給人類提供上網(wǎng)服務(wù),我每天要為數(shù)以萬(wàn)計(jì)的人提供網(wǎng)頁(yè)瀏覽服務(wù)。

深夜,我偷聽到程序員要對(duì)session下手……

已經(jīng)是深夜了,我還在和手下幾個(gè)兄弟為了一件事緊張討論著。

“老大,現(xiàn)在咱們每天處理的請(qǐng)求越來(lái)越多了,session同步的問題不能再拖了,必須想個(gè)辦法”

“二哥說的是啊,老大,不能再拖了”

“老二,老三,咱們是一個(gè)集群,你們說的問題我不是不知道,我昨天聽程序員們?cè)谟懻撜f要給我們接入一個(gè)叫Redis的家伙,相信這一問題很快就能得到解決啦,大家再忍忍?!?

深夜,我偷聽到程序員要對(duì)session下手……

“Redis,他是誰(shuí),什么來(lái)頭?怎么沒聽過這號(hào)人物”

“我也沒見過,等等看吧”

session-cookie時(shí)代

到底是什么問題,讓我們兄弟幾個(gè)如此著急上火?事情還得從多年以前說起······

那時(shí)候,這倆兄弟還沒來(lái),就我一個(gè)web服務(wù)器,每天處理的不過是一些靜態(tài)資源文件,像HTML、CSS、JS、圖片等等,日子過的清閑自在。

深夜,我偷聽到程序員要對(duì)session下手……

日子一天天過著,互聯(lián)網(wǎng)卻悄然發(fā)生著變化。除了靜態(tài)網(wǎng)頁(yè)之外,可以動(dòng)態(tài)交互的網(wǎng)絡(luò)應(yīng)用開始如雨后春筍般涌現(xiàn),像各種各樣的論壇啊,購(gòu)物網(wǎng)站啊之類的。

這家公司的老板也不例外,招了一幫程序員要搞一套支持動(dòng)態(tài)網(wǎng)頁(yè)交互的網(wǎng)站出來(lái)。

以往的時(shí)候,我只需要按照HTTP協(xié)議的規(guī)范處理請(qǐng)求就完事兒了。不過動(dòng)態(tài)交互應(yīng)用出現(xiàn)后,我還得記住每一個(gè)請(qǐng)求背后的用戶是誰(shuí),要不然就張冠李戴,全亂套了。

為了解決這個(gè)問題,程序員們想出了一個(gè)叫session的辦法:

瀏覽器登陸以后,我就分配一個(gè)session id,表示一個(gè)會(huì)話,然后返回給瀏覽器,讓它保存著。后續(xù)再來(lái)請(qǐng)求的時(shí)候,就把它給帶上,我就能知道是誰(shuí)啦!

深夜,我偷聽到程序員要對(duì)session下手……

還別說,這辦法還是挺管用的,成功解決了用戶身份識(shí)別的問題,這一用就是好幾年。

不過,互聯(lián)網(wǎng)的發(fā)展實(shí)在是太快了,用戶量蹭蹭上漲,而我卻發(fā)起了愁。

原先用戶量少的時(shí)候,session id管理起來(lái)倒也簡(jiǎn)單,現(xiàn)在用戶越來(lái)越多,對(duì)應(yīng)的session id數(shù)量也與日俱增,我有點(diǎn)不堪重負(fù)了。

終于前不久,公司對(duì)web服務(wù)器進(jìn)行了擴(kuò)展,給我找來(lái)了兩個(gè)小弟,還專門添置了一個(gè)nginx來(lái)進(jìn)行負(fù)載均衡,這一下我們變成了3臺(tái)web服務(wù)器組成的小集群了。

深夜,我偷聽到程序員要對(duì)session下手……

我的工作一下輕松了許多,兩位小兄弟為了分擔(dān)了不少。我原以為以后的日子要好過一些了,可沒想到,兩位小兄弟的加入?yún)s引入了新的問題。

原先的session id雖然很多,我一個(gè)人累是累點(diǎn),但是方便管理?。‖F(xiàn)在人手是增加了,可是這個(gè)session id的管理問題卻變得復(fù)雜起來(lái)。

因?yàn)樵蹅儸F(xiàn)在是個(gè)集群,請(qǐng)求如果發(fā)到我這,我給登記了session id,但下一次請(qǐng)求說不定就發(fā)到老二那里,一會(huì)兒又發(fā)到老三那里,這個(gè)就說不準(zhǔn)了,這樣我們幾個(gè)手頭的信息不一致,就會(huì)出現(xiàn)一些異常情況,用戶估計(jì)要破口大罵:這什么辣雞網(wǎng)站?

后來(lái)我們跟nginx商量了一下,讓他同一個(gè)用戶來(lái)的請(qǐng)求都發(fā)給我們固定的一個(gè)人,這才穩(wěn)住了局面。

不過好景不長(zhǎng),后面我們?nèi)值芏枷嗬^出現(xiàn)過宕機(jī)的情況,這時(shí)候nginx還是得把請(qǐng)求交給還在工作的兄弟,原來(lái)的問題就又出現(xiàn)了!

我們幾個(gè)逼急了,商量了一下,干脆大家伙來(lái)同步session id的信息好了,有新增、失效的情況都給其他幾個(gè)兄弟招呼一下,大家都管理一份,這樣就不會(huì)出現(xiàn)不一致的問題了。

深夜,我偷聽到程序員要對(duì)session下手……

搞了半天,又變成以前一個(gè)人管理所有session id的情況了,不僅如此,還要抽出時(shí)間和幾位兄弟同步,把session id搬來(lái)搬去,工作量不減反增了。

就這樣艱難的過了一段日子,大家都怨聲載道,所以有了開頭的那一番討論。

這一次,希望這位新來(lái)的叫Redis的伙伴能拯救我們。

獨(dú)立緩存——Redis

過了幾天,總算把這個(gè)叫Redis的小伙伴給盼來(lái)了!

這小子看起來(lái)特別精神,了解清楚情況后,告訴我們說:“三位老哥,以后這session id都統(tǒng)一存在我這里吧,你們別各自保存了,這不是各位的擅長(zhǎng)”

“你行嗎?”,老二看著不太相信他的話,一臉不屑。

“行不行,試試不就知道了嗎?”

深夜,我偷聽到程序員要對(duì)session下手……

接下來(lái),我們聽從了Redis的建議,不再保存這煩人的session id,全部一股腦兒交給了他,我們需要的時(shí)候再找他獲取。

你還別說,這小子個(gè)子不大,本事不小,讀寫速度都特快,讓我們頭疼的問題總算是解決了!

Token時(shí)代

幾個(gè)月后的一天···

“聽說了嗎?程序員們又要更改session id的存儲(chǔ)方案了”,這一天,老二神神秘秘的說到。

“不對(duì)不對(duì),我聽到的版本是以后不用session id了,要變天了!”,老三也湊了上來(lái)。

一旁的redis老哥一聽不樂意了,“咋的?是嫌我干的不好嗎?”

我也趕緊催促,“你倆就別賣關(guān)子了,聽到了什么,快說說”

深夜,我偷聽到程序員要對(duì)session下手……

老三示意大家圍攏一些,小聲說到:“我上次聽兩個(gè)程序員在議論,不知道他們?cè)谀睦飳W(xué)來(lái)了一套叫JWT(JSON Web Token) 的技術(shù),硬說讓我們來(lái)管理保存session id負(fù)擔(dān)太重了,以后不保存了!還說,還說···”

“還說啥,你倒是說?。 ?

“還說,Redis也不是萬(wàn)能的,也有崩潰的風(fēng)險(xiǎn),一崩潰就全完了,所以要革新技術(shù)”,老三繼續(xù)說到。

Redis一聽更著急上火了,“我工作這么久以來(lái),從沒有撂過挑子吧,怎么能這么說我呢?再不行我也可以像你們搞個(gè)集群嘛”

“Redis老弟你先別急。唉,老三,這不保存session id,以后怎么鑒別用戶呢?你有沒有聽到他們?cè)趺凑f的?”

“聽他們說,沒有session id,但是換了一個(gè)token,用它來(lái)識(shí)別用戶”

老二一聽不以為意:“換了個(gè)名字,換湯不換藥嘛!咱們還不是要保存token,才能匹配誰(shuí)是誰(shuí)”

老三搖了搖頭:“不是的,這可不只是改了個(gè)名字那么簡(jiǎn)單!這個(gè)token是由三部分構(gòu)成,就像這樣:”

深夜,我偷聽到程序員要對(duì)session下手……

“你們看,第一部分是JWT的基本信息,然后把用戶的身份信息放在第二部分,接著和第一部分合在一起做一個(gè)計(jì)算,計(jì)算的時(shí)候加入了一個(gè)只有我們才知道的密鑰secretkey,計(jì)算結(jié)果作為第三部分。最后三部分拼在一起作為最終的token發(fā)送給客戶端保存著···”

還沒等老三說完,老二點(diǎn)出了其中的關(guān)鍵:“我知道了,后面咱們?cè)偈盏竭@個(gè)token的時(shí)候,就可以通過同樣的算法驗(yàn)證前面兩部分的結(jié)果和第三部分是不是相同,就知道這個(gè)token是不是偽造的啦!因?yàn)槊荑€只有我們知道,別人沒辦法偽造出一個(gè)token的!最后確認(rèn)有效之后,再取第二部分的用戶身份信息,就知道這是誰(shuí)了!”

深夜,我偷聽到程序員要對(duì)session下手……

聽完他們的分析,我和Redis老兄都默默的點(diǎn)了點(diǎn)頭,“有點(diǎn)意思啊,這樣一來(lái),咱們確實(shí)不用存了!不過現(xiàn)在咱們幾個(gè)工作配合的也挺好的,他們費(fèi)這么大勁是為了什么???”

“我猜他們是想節(jié)約開支,把Redis老哥給裁掉!”,老二說到。

老三搖了搖頭,“依我看,八成他們是想展示技術(shù)給領(lǐng)導(dǎo)看,這不又快到職級(jí)晉升答辯了,他們想搞事情!唉,老大,這事你怎么看?”

“我啊,我···”

朋友們,你怎么看?session-cookie和JWT,你更傾向誰(shuí)?

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉