真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

session一致性的解決方法

session一致性的解決方法,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

東光ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

什么是session?

服務(wù)器為每個(gè)用戶創(chuàng)建一個(gè)會(huì)話,存儲(chǔ)用戶的相關(guān)信息,以便多次請(qǐng)求能夠定位到同一個(gè)上下文,這個(gè)相關(guān)信息就是session。這樣,當(dāng)用戶在應(yīng)用程序的Web頁(yè)之間跳轉(zhuǎn)時(shí),存儲(chǔ)在session對(duì)象中的變量將不會(huì)丟失,而是在整個(gè)用戶會(huì)話中一直存在下去。

session是對(duì)http無狀態(tài)協(xié)議的補(bǔ)充,達(dá)到狀態(tài)保持的目的

什么是session一致性問題?

session一致性的解決方法

假設(shè)用戶包含登錄信息的session都記錄在第一臺(tái)server上,反向代理如果將請(qǐng)求路由到另一臺(tái)server上,可能就找不到相關(guān)信息,而導(dǎo)致用戶需要重新登錄。

解決方法

1. 客戶端保存cookie

session一致性的解決方法

  • 優(yōu)點(diǎn):

  1. 服務(wù)端不需要存儲(chǔ)

  • 缺點(diǎn):

  1. 每次http請(qǐng)求都攜帶session,占網(wǎng)絡(luò)帶寬

  2. 數(shù)據(jù)存儲(chǔ)在客戶端上,并在網(wǎng)絡(luò)傳輸,存在泄漏、篡改等安全隱患

  3. session存儲(chǔ)的數(shù)據(jù)大小受cookie限制

由于技術(shù)不斷演進(jìn),客戶端保存cookie出現(xiàn)了信息全量cookie,cookie存儲(chǔ)sessionId和JWT三種方式,他們優(yōu)缺點(diǎn)各異,可以點(diǎn)擊筆者的另一篇博客查看相關(guān)介紹

快速了解會(huì)話管理三劍客cookie、session和JWT

2. session復(fù)制方法

session一致性的解決方法

  • 思路:
    多個(gè)server之間相互同步session,這樣每個(gè)server之間都包含全部的session

  • 優(yōu)點(diǎn):

  1. 只需要設(shè)定配置,應(yīng)用程序不需要修改代碼

  • 不足:

  1. session的同步需要數(shù)據(jù)傳輸,占內(nèi)網(wǎng)帶寬,有延時(shí)

  2. 所有server都包含所有session數(shù)據(jù),數(shù)據(jù)量受最小內(nèi)存的sever限制,水平拓展能力差

3. session中心存儲(chǔ)

session一致性的解決方法

  • 思路:
    將session存儲(chǔ)在server后端的集中式緩存

  • 優(yōu)點(diǎn):

  1. 沒有安全隱患

  2. 可以水平擴(kuò)展,支持緩存集群或橫向拓展

  • 不足:

  1. 增加了一次網(wǎng)絡(luò)調(diào)用

  2. 需要修改應(yīng)用代碼

4. session會(huì)話粘連

session一致性的解決方法

session會(huì)話粘連:英文原詞為"Sticky Sessions"

  • 思路:
    反向代理層讓同一個(gè)用戶的請(qǐng)求保證落在一臺(tái)server上呢?

  • 方法一:四層代理hash。反向代理層使用用戶ip來做hash,以保證同一個(gè)ip的請(qǐng)求落在同一個(gè)server上(更推薦,保證傳輸層不引入業(yè)務(wù)層的邏輯)

  • 方法二:七層代理hash。反向代理使用http協(xié)議中的某些業(yè)務(wù)屬性來做hash,例如sid,city_id,user_id等,能夠更加靈活的實(shí)施hash策略,以保證同一個(gè)瀏覽器用戶的請(qǐng)求落在同一個(gè)server上

  • 優(yōu)點(diǎn):

  1. 只需要改nginx配置,不需要修改應(yīng)用代碼

  2. 可以支持server水平擴(kuò)展

  • 不足:

  1. server水平擴(kuò)展,rehash后session重新分布,會(huì)有一部分用戶路由不到正確的session

  2. 即使hash散列均勻,也不能保證server的負(fù)載均勻

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。


當(dāng)前名稱:session一致性的解決方法
當(dāng)前地址:http://weahome.cn/article/jhpjgi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部