方法指南:利用邊緣計算實現低延遲直播流媒體服務
廣告商(和廣告代理公司)通常會利用需求方平臺(DSP)執行程序化的廣告購買操作。DSP使廣告商能夠配置自己的廣告活動,并為庫存廣告位(例如展示廣告的網站上的可投放版面)出價。隨著廣告商出價行為和投放網站的廣告庫存量逐漸增加,處理出價過程,并將其與可用庫存相匹配的工作也開始變得越來越復雜。DSP系統需要借助性能良好、可擴展的云基礎設施來處理廣告活動和競價。此外,這種基礎設施內的每一環節都需要盡可能降低延遲。較低的延遲可使廣告與發布者的網頁一起快速加載。

延伸閱讀,點擊鏈接了解 Akamai Cloud Computing
本文簡要介紹了一種DSP解決方案,該方案對關鍵基礎設施組件(包括前端服務器和實時競價(RTB)服務器)進行了分布式處理。通過將這些基礎設施移動到更靠近用戶的地方,再加上為廣告庫存和用戶配置文件添加強大的緩存系統,即可解決廣告服務所面臨的一些重大挑戰,包括低延遲要求和降低出口費用。
一、克服挑戰
與其他幾乎全部專業的生產級工作負載一樣,分布式需求方平臺也需要考慮獨特的基礎設施。我們總結了下列幾項挑戰,每項挑戰都可以通過精心設計的架構加以緩解或降低其影響。
1.延遲敏感性
找出導致高延遲問題的源頭,盡量減少這些組件對延遲的影響。
與許多其他系統相比,廣告服務需要更低的延遲。畢竟廣告需要盡快展示到最終用戶面前。即便延遲的微小增加,也會對客戶SLA(服務等級協議)和最終用戶轉化率產生巨大的負面影響。在許多情況下,集中式廣告服務基礎設施是造成高延遲的主要原因,但企業也應該仔細研究,看現有系統中是否還有其他會造成高延遲的組件。
與傳統的集中式系統相比,該解決方案的分布式特性使關鍵組件更接近最終用戶,從而減少了延遲。此外,該解決方案還能為每個區域提供快速故障切換能力,從而減少停機時間并將延遲造成的影響降至最低。
2.成本敏感性(低利潤率)
找出導致基礎設施成本居高不下的源頭,并設法盡可能降低成本。
由于廣告服務領域的利潤空間相對較小,云基礎設施成本會直接影響盈利能力。降低云成本在基礎設施規劃中起著至關重要的作用。
基礎設施成本的一個主要來源是數據出口費用。相比其他超大規模公有云平臺,通過將分布式廣告服務系統托管在Akamai云計算平臺,可以大幅降低甚至完全消除數據出口費用。本文所介紹的解決方案使一位客戶成本降低了40%。
云成本和數據出口費用增加的另一個原因是流量過大。當分布式基礎設施與集中式基礎設施通信時,分散某些組件而不分散其他組件會增加跨區域流量。為了限制與這種流量相關的數據出口費用,應該在分布式系統上實施緩存。利用這種方法,本地實例可以同步關鍵數據(如廣告庫存和出價),從而減少與集中式云進行通信所產生的網絡流量。此外,憑借著Akamai的全球網絡以及Akamai與其他超大規模公有云平臺的關系,在對集中存儲在另一個超大規模平臺上的數據進行傳輸時,也可消除或減少數據出口費用。
3.與集成和遷移有關的負擔
考慮基礎設施變更會帶來的工作負擔,并盡可能設計一種可減少工作負擔的架構。
在重新構建應用程序時,設計和集成新系統的工作負擔以及遷移到另一個提供商的工作負擔都會帶來巨大挑戰。本文中介紹的解決方案,只需要將部分廣告服務工作流程遷移到Akamai平臺,這意味著許多集中式組件無需遷移。廣告庫存記錄系統和其他關鍵數據庫也可以保持不變。與其他同類解決方案相比,Akamai解決方案的工作量大幅減少。
二、基礎設施架構圖
下圖展示了在Akamai云計算平臺上實現的多區域DSP基礎設施組件,其中還保留了原有的集中式數據系統。該解決方案可將請求路由到最靠近最終用戶(廣告商和廣告代理公司)的區域,能在多個后端系統間對請求進行負載均衡,可緩存任何集中數據的副本,并能監控基礎設施的停機時間等。

- 客戶(廣告商)與DSP交互,借此配置廣告活動并競標廣告位庫存。
- 廣告商提交競價,將其廣告顯示給最終用戶。這一過程采用了HTTPS API請求。
- 該請求被路由到多個計算區域(數據中心)之一。由于這是一個分布式應用,因此請求會通過一個基于DNS的智能負載均衡解決方案(例如Akamai Global Traffic Manager,Akamai GTM)進行路由。GTM會決定哪個區域能最好地滿足客戶請求。這需要考慮到位置、性能和可用性等因素。像這樣的負載均衡解決方案是降低延遲(提高廣告展示速度)和提高彈性(確保一次故障不會影響所有廣告)的理想方式。
- 本地負載均衡器(例如運行HAProxy的計算實例)會將請求路由到多個后端集群之一。為了實現冗余和擴展,一個區域內通常會使用多個集群。諸如LKE這樣的編排平臺可管理集群基礎設施和運維任務。
- 前端API網關開始處理請求。這些系統在競價服務器之前運行,這是為了降低數據出口費用和競價處理成本。這些前端服務器通常能應用業務邏輯,與廣告交易所、競價服務器和集群上的其他微服務進行通信。
- 前端網關向競價服務器發送競價請求。在競價過程中,競價與本地廣告庫存進行匹配,并與使用DSP平臺的其他廣告商進行比較。
- 處理競價時,會先查詢本地緩存服務器。該緩存包括來自任何集中式基礎設施的數據,如廣告庫存數據庫、用戶配置文件等。這就避免了每次請求時都要查詢中央記錄系統所帶來的延遲。
- 本地緩存會定期更新。緩存中的數據會被刷新,從而確保系統會使用到最新信息。
- 將本地緩存中的信息發回競價服務器。
- 競價服務器處理競價,即決定競價是被接受(并將結果發送給廣告交易平臺或提供廣告位的網站)還是被拒絕。
- DSP通過更新網頁界面將競價結果告知廣告商。
三、涉及到的系統和組件
1.全局負載均衡器
Akamai Global Traffic Manager(GTM)可用于將傳入請求路由到最靠近最終用戶的區域。
2.本地負載均衡器
在每個區域內,使用負載均衡器來均衡多個后端集群之間的流量。為避免停機,該負載均衡器應具備冗余,并能優雅地故障切換到輔助負載均衡器。可選擇的負載均衡解決方案包括NodeBalancers、NGINX和HAProxy。
3.DSP廣告服務集群
廣告服務集群在LKE等容器編排平臺上運行,由多個計算實例組成,每個實例運行下列一個或多個組件。每個區域內應使用多個集群,以保持冗余并實現高可用性。
- 前端API網關:該網關會代理集群上托管的其他廣告相關API的所有API請求。可選擇的API網關包括Kong、NGINX、Tyk和Gravitee。
- 實時競價服務器:托管了決定接受或拒絕哪些競價的所有邏輯。可通過API訪問,請求只能來自該集群的API網關。
- 緩存系統:每個集群都應包含一個本地緩存,緩存了與廣告相關的重要集中式數據庫,如廣告庫存和可能的用戶配置文件。可選擇的本地緩存系統包括Redis、Apache Ignite、Memcached和Couchbase。
4.監控系統
為監控該區域內負載均衡器和集群的狀態,應配置監控和/或日志系統。可選擇的監控解決方案包括Prometheus、Grafana和ThousandEyes。
———————————————————————————————————————————————
如您所在的企業也在考慮采購云服務或進行云遷移,
點擊鏈接了解Akamai Linode解決方案,現在申請試用可得高達500美元專屬額度































