互連網系統的通用架構筆記

來源:互聯網
上載者:User

標籤:偽造   session複製   通道   .com   機制   傳輸   部分   推薦   不可用   

 

接入層session設計原則:

1、Session—讀寫請求使用的內容物件,稱之會話。

業務總有狀態的:使用者下單購買、登入狀態、好友狀態、訊息發送情況等;

這些有狀態的資訊隨使用者操作變化。

單機環境下:

  1. 不存在session共用問題;
  2. 處理簡單;
  3. session儲存在記憶體;
  4. 高可用不能保證(進程掛掉、宕機、session丟失不可用)。

叢集設計:

--session複製:

所有接入層伺服器之間同步session資料;

每台接入伺服器都儲存使用者全量的session資料;

使用者只需訪問一台機器,擷取速度快;

高可用保障:宕機部分機器,沒影響。

問題:

--適用於接入層叢集較少,不適量大量上千台接入層伺服器;

--大量session複製,佔用伺服器和網路資源;

--儲存全量使用者session,記憶體佔用量太大,甚至有可能溢出;

 

大型設計:

session綁定:

根據使用者請求(UID\Mac\imei等唯一標示)負載平衡到特定接入層服務務器;

部分網站使用;

高可用如何保障:單點問題、複製機制(master-slave)

 

多機設計:

用戶端保持 session:

--session由服務端產生,儲存到用戶端;

--每次請求攜帶用戶端session;

--服務端若有更新返回給用戶端儲存;

C/S:

--APPS:記錄到Native中;

B/S:

--Web:記錄到Cookie中。

缺點:

Web Cookie記錄資訊大小限制(如100KB);

每次請求都要傳輸session:流量、效能受影響;

使用者關閉、清理掉session,使用者請求不正常;

優點:

方案簡單,支援服務端的無縫伸縮;

方案可用性高;

較多網站使用;

 

Session高可用叢集:

--接入層無狀態化;

--統一的高可用session分布式讀寫伺服器叢集;

--狀態分離:

    接入層本身無狀態;

session叢集有狀態:

分布式緩衝(NoSQL—memcached/Redis, RDBMS—Mysql/MongoDB)

 

接入層安全性:

接入層是用戶端和服務端的Interface;

資料安全重要性不言而喻;

保證資料安全性:串連通道加密、傳輸資料加密。

用戶端與服務端建立安全通道—技術方案:

所有請求資料都加密,提高效率;使用對稱式加密演算法;

對稱式加密密鑰使用非對稱式加密演算法經過兩次協商確定;

安全通道的建立必須滿足:

    任何第三方無法偽造伺服器;

    在破解用戶端代碼的情況下,即使截獲其他使用者發送的加密請求也無法解密。

使用HTTPS:

    資料安全的加密;

    不推薦單向加密;使用雙向加密(安全)

    用戶端認證

資料加密目的:

    解決資料明文的問題;

    即使截獲也無法解密;

    無法保證資料篡改;

如何保證資料正確性:

    資料簽名:雙方約定規則簽名(md5sum、其他)

    過程:

  1. 用戶端按照約定簽名;
  2. 服務端收到資料,按照規則產生md5sum值;
  3. 和資料包裡md5sum值比較是否一致;
  4. 一致說明沒問題;不一致則說明被改

高可用接入層最佳實務:

    模組與資料分離;

    session綁定:每個session同步複製;

互連網系統的通用架構筆記

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.