GH GambleHub

技術和基礎架構→ CDN網絡和內容積壓

CDN網絡和內容積壓

1)為什麼CDN和kesh

CDN(內容交付網絡)減少RTT和TTFB,卸載起源並穩定P95/P99尾巴。對於iGaming/fintech,這些是:
  • 目錄,asset,促銷和媒體的快速第一個字節。
  • 峰值穩定性(錦標賽/活動)沒有爆炸性的起源能力增長。
  • 節省egress和可預測的成本。
  • 地理控制(監管,內容許可)。

2)基本腰包策略

2.1回復,可以加關

靜態:JS/CSS/字體/圖標是名稱中的長 TTL(30-365天)+文件哈希。
半流派:遊戲目錄,橫幅,配音-TTL從分鐘到小時+「stale-while-revalidate」。
API GET/HEAD:參考書,引導,領導板-具有正確密鑰的短TTL(5-120秒)。

2.2個標題

`Cache-Control: public, max-age=600, stale-while-revalidate=300, stale-if-error=600`

「ETag」/「Last-Modified」用於條件查詢(revalidation)。
「Surrogate-Control」/「CDN-Cache-Control」(如果提供商支持)。
對於私有數據:「Cache-Control: no-store」(而不僅僅是「no-cache」)。

2.3 kesha鍵(cache key)

基本:方法+URL路徑+查詢參數,影響響應。
添加:「Accept-Encoding」 (gzip/br), 「Accept」 (json/webp/avif), local(「Accept-Language」),區域/貨幣,如果影響內容。
避免進入隨機標題(cookies, trace ids)的密鑰。


3) Vary和Cookie管理

「Vary:Accept-Encoding,Accept,Accept-Language」是最低要求的設置。
在CDN上為Cashed Way脫衣舞Cookie:我們除了whitelisted之外的所有東西(請參見AB標誌)。
將會話ID遷移到可加權內容之外的子域/路徑。


4)TTL模式和新鮮度

可變靜態:「Cache-Control: public, max-age=31536000, immutable」+版本在文件名中。
SWRO/SIE:「stale-wile-revalidate」和「stale-if-error」-對起源問題的UX抗性。
Partitioned TTL:遊戲根列表-30-60秒;遊戲卡-5-10分鐘;橫幅-30分鐘。
API混合:基本參考書-5-30分鐘;貨幣/限額為1-5分鐘;領導者― 2-15秒。


5) Tiered caching и origin shield

Tiered/Regional caches:經過邊緣的查詢被打成區域「shield」而不是起源。
優點:起源的MISS較少,「風暴」平滑,價格便宜。
盾牌按交通密度最高的地理(歐盟,TR,BR,LATAM)分組。


6)殘疾和加熱

Purge by path/prefix/tag:標簽方便批量清理(目錄發布、促銷活動)。
Soft purge (grace):標記內容已過時,但在新內容到來之前我們會放棄。
加熱(prewarm):發布/比賽前的場景:調查流行路徑、生成精靈和圖片變化。
金絲雀殘疾:部分清潔,驗證度量/錯誤,然後擴展。


7)邊緣規則和功能(工人/功能)

重寫答案:添加腰果標題,規範化「Vary」,脫衣舞cookie。
Geo/ASN路由:重新定向,本地化/貨幣在全國範圍內。
受保護的媒體/對象的簽名URL (Signed URLs/Headers)。
Edge-AB測試:輕量級,不增加起源負載(僅用於靜態/半靜態)。
Edge compute:輕型小部件/個性化渲染,但不熱支付路徑。


8)圖像和視頻

8.1張圖片

自動轉換:WebP/AVIF在「接受」客戶機;「Vary:接受」。
重新調整邊緣:「w/h/fit/quality」選項;準備預期(卡片、橫幅、預覽)。
精靈和SVG優化,前端懶惰裝載。

8.2個視頻/流

短段(2-4秒)的HLS/DASH,重疊播放列表。
Preload最近的片段和「stale-if-error」。
對於實時投註-將細分市場保持在區域盾牌中以減少TTFB。


9)通過CDN的API

Cashable GET:添加「Cache-Control」和正確的密鑰(地方/貨幣/區域)。
「ETag」/「If-None-Match」降低字節和TTFB。
POST/PUT:不打結;POST響應只能在顯式規則和等效語義(很少有理由)下進行。
邊緣的等級限制/WAF:通過切斷機器人/異常來減少尾巴。


10)安全,訪問和合規性

mTLS к origin и IP allow-list.

WAF/機器人管理:簽名,行為啟發式方法,對獎金掃描儀的保護。
Signed URL/Headers用於媒體和私人下載。
GDPR/PII/PCI:不加壓敏感數據;帶有個人回復的API是「無商店」。
根據市場監管機構的要求,Geo過濾器/鎖定處於邊緣。


11)網絡和協議

在CDN、TLS恢復和OCSP上啟用HTTP/2/3。
文本格式的Brotli(br),gzip是後退。
TCP/QUIC調音(由提供商提供)的損失影響→小,尤其是在移動網絡上。


12) CDN的可觀察性和SLO

度量(邊緣和盾牌):
  • Hit Ratio(超前綴和前綴),Origin Offload。
  • TTFB P50/P95/P99 按地區/ASN分列。
  • Throughput/Errors按狀態代碼(edge/origin)。
  • Purge latency(殘疾交付時間)。
  • Image transform latency(如果在邊緣使用重新分配)。
SLO示例:
  • 遊戲目錄:TTFB P95 ≤ 150毫秒,Offload ≥ 85%。
  • 媒體(圖像):Hit Ratio ≥ 90%,轉換錯誤<0。1%.
  • API GET「參考」:TTFB P95 ≤ 200毫秒,Revalidation Hit ≥ 60%。

13)FinOps: 腰果成本

Offload=較小的egress與起源→直接$-vygod。
Tiered+shield切斷「風暴」和MISS負載。
圖像優化(AVIF/WebP/resize)可以最大程度地節省流量。
控制響應權重P95和「昂貴的MISS」(字節× ×區域)。


14)Configa和規則(片段)

14.1個起源(Nginx)標題)

nginx статика с версионированием location ~ \.(css    js    woff2)$ {
add_header Cache-Control "public, max-age=31536000, immutable";
}

полустатика каталога location /catalog/ {
add_header Cache-Control "public, max-age=300, stale-while-revalidate=600, stale-if-error=600";
add_header Vary "Accept, Accept-Language";
}

14.2邊緣密鑰正常化(偽)

js addRule((req) => {
// очищаем шум req.cookies.clearExcept(['ab', 'locale']);
// ключ = method+path+критичные query key = `${req.method}:${req.path}?lang=${q.lang}&currency=${q.cur}`;
req.setCacheKey(key);
req.setVary(['Accept', 'Accept-Encoding', 'Accept-Language']);
});

14.3 Signed URL(想法)


/media/{path}?exp=1735707600&sig=HMAC_SHA256(secret, path    exp    ip)
На edge: проверка exp и подписи, опционально привязка к IP/ASN.

15)發布和操作過程

Release hooks:降級後按標簽/前綴自動購買。
Prewarm清單:交通/轉換的頂級途徑-提前加熱。
TTL矩陣目錄:與產品/營銷一致。
事件:隨著MISS/TTFB的興起-包括stale-if-error,在起源穩定之前「移除」邊緣的昂貴轉換。


16)實施支票

1.內容卡(靜態/半靜態/API)和TTL矩陣。
2.正確的「Cache-Control」,「ETag/最後修改」,「Vary」。
3.沒有「噪音」的kesha鑰匙,cookie脫衣舞,whitelists。
4.Tiered caching+origin shield按地區。
5.按標記/前綴,軟標記,prewarm例程。
6.邊緣功能:歸一化、地理邏輯、簽名URL。
7.圖像優化(WebP/AVIF/resize),視頻的HLS段。
8.WAF/機器人過濾器,地理限制,mTLS到起源。
9.SLO-dashbords: TTFB, Hit Ratio, Offload,轉換錯誤。
10.FinOps報告:$/GB,昂貴的MISS,egress領導地區。


17)反模式

「no-cache」無處不在「以防萬一」。
Kesha鍵包括所有查詢/標題→零命中率。
靜態的Cookie依賴性響應(完全打破kesh)。
每次發布時清除整個CDN。
在峰值期間對邊緣進行長時間的同步轉換。
缺乏「stale-wile-revalidate」/「stale-if-error」是UX的急劇降解。
在沒有「無商店」的情況下累積個人數據/回復。


18) iGaming/fintech上下文: 實用音符

錦標賽/活動:排名第一的簡短TTL(2-10秒)+SWR;遊戲卡和橫幅的prewarm。
地理許可:邊緣鎖定/重定向國家/地區,貨幣/本地在腰果鍵。
促銷和優惠券:我們緩存橫幅/條款,但不包含個人限制。
負責任的遊戲:政策/限制頁面-具有SWR的半靜態;個人數據-只有「無商店」。
PSP/KYC webhooks:不通過CDN,或者通過沒有腰果和僵硬的taymout的邊緣通行證。


結果

強大的CDN策略是正確的標題和腰果鍵,用於降低MISS的針腳/盾牌,用於正常化和保護的邊緣功能,用於快速發布的殘疾/加熱以及SLO和FinOps的可觀察性。通過遵守這些原則,您將獲得快速且經濟高效的外圍,可以承受峰值,並使用戶和合作夥伴的TTFB可預測。

Contact

與我們聯繫

如有任何問題或支援需求,歡迎隨時聯絡我們。我們隨時樂意提供協助!

開始整合

Email 為 必填。Telegram 或 WhatsApp 為 選填

您的姓名 選填
Email 選填
主旨 選填
訊息內容 選填
Telegram 選填
@
若您填寫 Telegram,我們將在 Email 之外,同步於 Telegram 回覆您。
WhatsApp 選填
格式:國碼 + 電話號碼(例如:+886XXXXXXXXX)。

按下此按鈕即表示您同意我們處理您的資料。