通過分布式系統 - dns網域名稱設計與實踐(上)我們了解:
dns的含義和網域名稱解析流程
dns協議
dns應用場景
dns劫持原因分析
如何快速檢測是否被劫持與商務解決方案
今天我們主要介紹:
如何通過技術手段解決dns網域名稱劫持
dns的配置策略與應用
cdn系統的技術分析與應用實踐
實現方式:
服務節點拓展後需要更新客戶端的伺服器節點ip檔案,客戶端通過http拉取伺服器ip列表。可以通過版本號判斷是否更新伺服器節點ip檔案
方案優點:
不需要每次請求做dns解析,節省時間
不需要每次請求做nginx**,節省時間
不需要每次拉取ip-list,節省流量
dns被劫持時仍可以使用本地ip
ps:獲取伺服器列表時,此時dns已經被劫持,通過http拉取,這裡還得通過dns解析嗎?
實現方式:
通過訪問httpdns介面,繞過localdns,同時基於容災考慮,保留次選使用運營商localdns的網域名稱解析方式。客戶端使用獲取到的ip位址,法師業務協議請求。
方案優點:
**網域名稱解析異常
httpdns能直接獲取到使用者ip
拓展性強,可實現更精細化的流量排程
綜上,高可用的dns設計,應用方面可用httpdns和基於ip位址直連。同時監控治理加強,進行實時監控,發現問題後及時推動解決。
網域名稱配置策略基本應用
如下圖,www.baidu.com. 配置業務網域名稱www.com的cname記錄。
通過cname配置a記錄,指向最終的真實ip
全域性負載均衡(gslb): 對伺服器和鏈路進行綜合判斷來決定由哪個地點的服務來提供服務,實現異地伺服器集群服務質量保證。
關鍵技術點
下圖中通過local dns可以判斷檢測與資料中心的聯通性,連線那個快則就用那個
基於以上場景的解決方案為智慧型dns。
智慧型解析網域名稱
近性表項
返回延時(round trip time)
返回響應最快的站點
具體描述:如下圖ww.xx.com首先訪問local dns,檢視 本地近性表項是否有解析過ip,如有直接返回。若沒有向dns伺服器發起探測,比較rtt值,rtt小的認為是比較快的返回。
內容分發網路,依靠部署在各地的邊緣伺服器,通過中心平台的負 載均衡、內容分發、排程等功能模組,使使用者就近獲取所需內容,降低網路擁塞,提高使用者訪問響應速度和 命中率。
cdn原理:
當終端使用者(北京)向www.a.com下的某資源發起請求時,首先向local dns(本地dns)發起網域名稱解析請求。
local dns檢查快取中是否有www.a.com的ip位址記錄。如果有,則直接返回給終端使用者;如果沒有,則向授權dns查詢。
當授權dns解析www.a.com時,返回網域名稱cname www.a.tbcdn.com對應ip位址。
網域名稱解析請求傳送至阿里雲dns排程系統,並為請求分配最佳節點ip位址。
local dns獲取dns返回的解析ip位址。
使用者獲取解析ip位址。
使用者向獲取的ip位址發起對該資源的訪問請求。
cdn網路拓撲圖:
使用者通過智慧型解析,獲得最近或者最搞笑的訪問邊緣節點集群
引入cdn優點
cdn適合快取哪些資料?
頁面、、流**、樣式指令碼等
cdn專業術語
cdn系統技術分析
內容路由:將使用者的請求分配到cdn中的最佳節點
通過dns全域性負載均衡找到響應最快的邊緣節點集群
通過本地負載均衡(llb)找到邊緣節點集群中最好的節點
可以通過節點探測和應用層與傳輸層實現重定向來實現內容路由
內容分發:源內容到cdn節點的cache過程
push: 熱點資料通過主動分發
pull::使用者請求按需分發
這裡需要考慮回源問題,可以通過快取時間、url設計、快取預熱等方式優化解決
內容儲存
源站儲存:由於訪問量大,可以用oss或者其他分布式儲存。同樣需要合理設計注意流量費用問題
cdn節點儲存:
需要考量儲存支援的 資料格式、快取命中率、可靠性、穩定性等方面;流**可以通過分片拉取
內容管理
本地內容索引
本地內容拷貝
本地內容訪問狀態資訊收集
使用cdn資料一致性和高可用保障
cdn應用領域
分布式 分布式系統的設計
在計算機領域,當單機效能達到瓶頸時,一般有兩種方式解決效能問題 而分布式系統的設計說白了就是 如何合理將乙個系統拆分成多個子系統部署到不同機器上。講設計方法前,先介紹分布式系統的特性 1 分布性 空間中隨機分布。這些計算機可以分布在不同的機房,不同的城市,甚至不同的國家。2 對等性 分布式系統中的計...
高手之路 分布式鎖設計與實踐
mq訊息冪等性 在使用者對商品下單後,訂單狀態為待支付,在某一時刻使用者正在對該訂單做支付操作,商家對該訂單進行改價操作 存在問題 單點問題 官方建議 問題本質 分布式鎖是cp模型,redis集群是ap模型通過cp模型解決 儲存層產品對比 redis zookeeper etcd 一致性演算法 無p...
分布式系統設計準則
該文章需要整理 2015.3.13修改 分布式系統通常服務大請求 維護著大資料 快速響應 長時間可用。設計分布式後台服務需要考慮的東西很多,本文給出一些常用的設計準則,以備檢視。效能 快速響應 低延遲 可靠性 系統可靠就是同樣的請求返回同樣的資料 更新能夠持久化 資料不會丟失 可管理性 便於運維,整...