'從零到百億級,揭祕科大訊飛廣告平臺架構演進之路'

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


這是當前的新架構,大框架與之前沒有太大的變化,還是分為三個部分:流量網關、服務集群和 DSP。流量網關具備限流能力,相當於“保險絲”保護後面的系統,同時還具備流量統計、分流、故障隔離等功能。

內部容器集群分為三種,測試、聯調、生產集群。業務日誌全部進入統計計算引擎,這些數據會輔助做運營決策以及後面做一些監測,整個系統由 APM 負責監控。原來是沒有防火牆的,隨著業務的增長,為了確保安全,我們上線了併發性非常強的防火牆。

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


這是當前的新架構,大框架與之前沒有太大的變化,還是分為三個部分:流量網關、服務集群和 DSP。流量網關具備限流能力,相當於“保險絲”保護後面的系統,同時還具備流量統計、分流、故障隔離等功能。

內部容器集群分為三種,測試、聯調、生產集群。業務日誌全部進入統計計算引擎,這些數據會輔助做運營決策以及後面做一些監測,整個系統由 APM 負責監控。原來是沒有防火牆的,隨著業務的增長,為了確保安全,我們上線了併發性非常強的防火牆。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


說一下流量網關的設計。為什麼做流量網關呢?一是內部存在多個系統都需要用流量,不同的系統對接比較麻煩,對人力成本消耗比較大;二是流量對接與競價耦合,流量接入迭代快上線動靜大,因此我們做了拆分,把流量網關獨立了出來。

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


這是當前的新架構,大框架與之前沒有太大的變化,還是分為三個部分:流量網關、服務集群和 DSP。流量網關具備限流能力,相當於“保險絲”保護後面的系統,同時還具備流量統計、分流、故障隔離等功能。

內部容器集群分為三種,測試、聯調、生產集群。業務日誌全部進入統計計算引擎,這些數據會輔助做運營決策以及後面做一些監測,整個系統由 APM 負責監控。原來是沒有防火牆的,隨著業務的增長,為了確保安全,我們上線了併發性非常強的防火牆。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


說一下流量網關的設計。為什麼做流量網關呢?一是內部存在多個系統都需要用流量,不同的系統對接比較麻煩,對人力成本消耗比較大;二是流量對接與競價耦合,流量接入迭代快上線動靜大,因此我們做了拆分,把流量網關獨立了出來。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


上圖是限流系統可視化的解釋,首先我們要實時檢測服務後端,當一個流量進來以後實時計算限流的力度,根據力度決定請求是繼續還是回退。

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


這是當前的新架構,大框架與之前沒有太大的變化,還是分為三個部分:流量網關、服務集群和 DSP。流量網關具備限流能力,相當於“保險絲”保護後面的系統,同時還具備流量統計、分流、故障隔離等功能。

內部容器集群分為三種,測試、聯調、生產集群。業務日誌全部進入統計計算引擎,這些數據會輔助做運營決策以及後面做一些監測,整個系統由 APM 負責監控。原來是沒有防火牆的,隨著業務的增長,為了確保安全,我們上線了併發性非常強的防火牆。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


說一下流量網關的設計。為什麼做流量網關呢?一是內部存在多個系統都需要用流量,不同的系統對接比較麻煩,對人力成本消耗比較大;二是流量對接與競價耦合,流量接入迭代快上線動靜大,因此我們做了拆分,把流量網關獨立了出來。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


上圖是限流系統可視化的解釋,首先我們要實時檢測服務後端,當一個流量進來以後實時計算限流的力度,根據力度決定請求是繼續還是回退。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


這是當前的新架構,大框架與之前沒有太大的變化,還是分為三個部分:流量網關、服務集群和 DSP。流量網關具備限流能力,相當於“保險絲”保護後面的系統,同時還具備流量統計、分流、故障隔離等功能。

內部容器集群分為三種,測試、聯調、生產集群。業務日誌全部進入統計計算引擎,這些數據會輔助做運營決策以及後面做一些監測,整個系統由 APM 負責監控。原來是沒有防火牆的,隨著業務的增長,為了確保安全,我們上線了併發性非常強的防火牆。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


說一下流量網關的設計。為什麼做流量網關呢?一是內部存在多個系統都需要用流量,不同的系統對接比較麻煩,對人力成本消耗比較大;二是流量對接與競價耦合,流量接入迭代快上線動靜大,因此我們做了拆分,把流量網關獨立了出來。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


上圖是限流系統可視化的解釋,首先我們要實時檢測服務後端,當一個流量進來以後實時計算限流的力度,根據力度決定請求是繼續還是回退。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


不管限流力度還是權重都依賴於服務的健康狀態,服務健康狀態由多個指標進行衡量,如服務的處理時間、網絡的傳輸時間、節點所在機器物理資源使用量等等。建立數學模型,可以看到最終效果就是想限哪個就把它壓到那個值。

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


這是當前的新架構,大框架與之前沒有太大的變化,還是分為三個部分:流量網關、服務集群和 DSP。流量網關具備限流能力,相當於“保險絲”保護後面的系統,同時還具備流量統計、分流、故障隔離等功能。

內部容器集群分為三種,測試、聯調、生產集群。業務日誌全部進入統計計算引擎,這些數據會輔助做運營決策以及後面做一些監測,整個系統由 APM 負責監控。原來是沒有防火牆的,隨著業務的增長,為了確保安全,我們上線了併發性非常強的防火牆。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


說一下流量網關的設計。為什麼做流量網關呢?一是內部存在多個系統都需要用流量,不同的系統對接比較麻煩,對人力成本消耗比較大;二是流量對接與競價耦合,流量接入迭代快上線動靜大,因此我們做了拆分,把流量網關獨立了出來。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


上圖是限流系統可視化的解釋,首先我們要實時檢測服務後端,當一個流量進來以後實時計算限流的力度,根據力度決定請求是繼續還是回退。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


不管限流力度還是權重都依賴於服務的健康狀態,服務健康狀態由多個指標進行衡量,如服務的處理時間、網絡的傳輸時間、節點所在機器物理資源使用量等等。建立數學模型,可以看到最終效果就是想限哪個就把它壓到那個值。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統是整個系統的核心保障,流量作弊是沒法規避,但如果加了這個額外處理會話時間肯定要上去。為了要保證實時性,因此我們把反作弊流程進行了分拆,分為實時和離線兩個部分,同時將處理流程儘量異步化。最終把反作弊處理耗時壓縮到了 3ms 以內。通過三層過濾,現在可以做到準確識別 98% 以上的虛假流量。

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


這是當前的新架構,大框架與之前沒有太大的變化,還是分為三個部分:流量網關、服務集群和 DSP。流量網關具備限流能力,相當於“保險絲”保護後面的系統,同時還具備流量統計、分流、故障隔離等功能。

內部容器集群分為三種,測試、聯調、生產集群。業務日誌全部進入統計計算引擎,這些數據會輔助做運營決策以及後面做一些監測,整個系統由 APM 負責監控。原來是沒有防火牆的,隨著業務的增長,為了確保安全,我們上線了併發性非常強的防火牆。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


說一下流量網關的設計。為什麼做流量網關呢?一是內部存在多個系統都需要用流量,不同的系統對接比較麻煩,對人力成本消耗比較大;二是流量對接與競價耦合,流量接入迭代快上線動靜大,因此我們做了拆分,把流量網關獨立了出來。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


上圖是限流系統可視化的解釋,首先我們要實時檢測服務後端,當一個流量進來以後實時計算限流的力度,根據力度決定請求是繼續還是回退。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


不管限流力度還是權重都依賴於服務的健康狀態,服務健康狀態由多個指標進行衡量,如服務的處理時間、網絡的傳輸時間、節點所在機器物理資源使用量等等。建立數學模型,可以看到最終效果就是想限哪個就把它壓到那個值。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統是整個系統的核心保障,流量作弊是沒法規避,但如果加了這個額外處理會話時間肯定要上去。為了要保證實時性,因此我們把反作弊流程進行了分拆,分為實時和離線兩個部分,同時將處理流程儘量異步化。最終把反作弊處理耗時壓縮到了 3ms 以內。通過三層過濾,現在可以做到準確識別 98% 以上的虛假流量。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統核心遵循兩個原則,一個是實時和離線協同,二是機器和人工協同。AI 算法雖然厲害但是某些部分還是要靠人類智慧來總結規則,我們把實時的數據通過三層過濾得到結果,同時把實時數據和歷史數據進行合併來訓練模型,然後加上人工分析形成一些策略在模型訓練的時候加進去,最終生成一個模型,這個模型會實時反饋更新系統。

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


這是當前的新架構,大框架與之前沒有太大的變化,還是分為三個部分:流量網關、服務集群和 DSP。流量網關具備限流能力,相當於“保險絲”保護後面的系統,同時還具備流量統計、分流、故障隔離等功能。

內部容器集群分為三種,測試、聯調、生產集群。業務日誌全部進入統計計算引擎,這些數據會輔助做運營決策以及後面做一些監測,整個系統由 APM 負責監控。原來是沒有防火牆的,隨著業務的增長,為了確保安全,我們上線了併發性非常強的防火牆。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


說一下流量網關的設計。為什麼做流量網關呢?一是內部存在多個系統都需要用流量,不同的系統對接比較麻煩,對人力成本消耗比較大;二是流量對接與競價耦合,流量接入迭代快上線動靜大,因此我們做了拆分,把流量網關獨立了出來。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


上圖是限流系統可視化的解釋,首先我們要實時檢測服務後端,當一個流量進來以後實時計算限流的力度,根據力度決定請求是繼續還是回退。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


不管限流力度還是權重都依賴於服務的健康狀態,服務健康狀態由多個指標進行衡量,如服務的處理時間、網絡的傳輸時間、節點所在機器物理資源使用量等等。建立數學模型,可以看到最終效果就是想限哪個就把它壓到那個值。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統是整個系統的核心保障,流量作弊是沒法規避,但如果加了這個額外處理會話時間肯定要上去。為了要保證實時性,因此我們把反作弊流程進行了分拆,分為實時和離線兩個部分,同時將處理流程儘量異步化。最終把反作弊處理耗時壓縮到了 3ms 以內。通過三層過濾,現在可以做到準確識別 98% 以上的虛假流量。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統核心遵循兩個原則,一個是實時和離線協同,二是機器和人工協同。AI 算法雖然厲害但是某些部分還是要靠人類智慧來總結規則,我們把實時的數據通過三層過濾得到結果,同時把實時數據和歷史數據進行合併來訓練模型,然後加上人工分析形成一些策略在模型訓練的時候加進去,最終生成一個模型,這個模型會實時反饋更新系統。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


Alan Kay 說過一句話,面向對象的核心是消息傳遞。設計一個龐大且持續增長的系統,最應該關注的是內部子系統之間怎麼交互,而不是先考慮系統具備什麼屬性。Actor 模型在真正意義上實現了 Alan 所講的面向對象概念。

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


這是當前的新架構,大框架與之前沒有太大的變化,還是分為三個部分:流量網關、服務集群和 DSP。流量網關具備限流能力,相當於“保險絲”保護後面的系統,同時還具備流量統計、分流、故障隔離等功能。

內部容器集群分為三種,測試、聯調、生產集群。業務日誌全部進入統計計算引擎,這些數據會輔助做運營決策以及後面做一些監測,整個系統由 APM 負責監控。原來是沒有防火牆的,隨著業務的增長,為了確保安全,我們上線了併發性非常強的防火牆。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


說一下流量網關的設計。為什麼做流量網關呢?一是內部存在多個系統都需要用流量,不同的系統對接比較麻煩,對人力成本消耗比較大;二是流量對接與競價耦合,流量接入迭代快上線動靜大,因此我們做了拆分,把流量網關獨立了出來。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


上圖是限流系統可視化的解釋,首先我們要實時檢測服務後端,當一個流量進來以後實時計算限流的力度,根據力度決定請求是繼續還是回退。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


不管限流力度還是權重都依賴於服務的健康狀態,服務健康狀態由多個指標進行衡量,如服務的處理時間、網絡的傳輸時間、節點所在機器物理資源使用量等等。建立數學模型,可以看到最終效果就是想限哪個就把它壓到那個值。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統是整個系統的核心保障,流量作弊是沒法規避,但如果加了這個額外處理會話時間肯定要上去。為了要保證實時性,因此我們把反作弊流程進行了分拆,分為實時和離線兩個部分,同時將處理流程儘量異步化。最終把反作弊處理耗時壓縮到了 3ms 以內。通過三層過濾,現在可以做到準確識別 98% 以上的虛假流量。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統核心遵循兩個原則,一個是實時和離線協同,二是機器和人工協同。AI 算法雖然厲害但是某些部分還是要靠人類智慧來總結規則,我們把實時的數據通過三層過濾得到結果,同時把實時數據和歷史數據進行合併來訓練模型,然後加上人工分析形成一些策略在模型訓練的時候加進去,最終生成一個模型,這個模型會實時反饋更新系統。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


Alan Kay 說過一句話,面向對象的核心是消息傳遞。設計一個龐大且持續增長的系統,最應該關注的是內部子系統之間怎麼交互,而不是先考慮系統具備什麼屬性。Actor 模型在真正意義上實現了 Alan 所講的面向對象概念。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


一次交易過程涉及的邏輯非常多,剛開始做的時候是同步阻塞式的,但是隨著處理環節越來越多如果還是採用同步阻塞模式耗時就太高了,所以我們模擬 CPU 超流水線重構了業務處理流程,最終效果是提升了任務併發並提高了吞吐。

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


這是當前的新架構,大框架與之前沒有太大的變化,還是分為三個部分:流量網關、服務集群和 DSP。流量網關具備限流能力,相當於“保險絲”保護後面的系統,同時還具備流量統計、分流、故障隔離等功能。

內部容器集群分為三種,測試、聯調、生產集群。業務日誌全部進入統計計算引擎,這些數據會輔助做運營決策以及後面做一些監測,整個系統由 APM 負責監控。原來是沒有防火牆的,隨著業務的增長,為了確保安全,我們上線了併發性非常強的防火牆。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


說一下流量網關的設計。為什麼做流量網關呢?一是內部存在多個系統都需要用流量,不同的系統對接比較麻煩,對人力成本消耗比較大;二是流量對接與競價耦合,流量接入迭代快上線動靜大,因此我們做了拆分,把流量網關獨立了出來。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


上圖是限流系統可視化的解釋,首先我們要實時檢測服務後端,當一個流量進來以後實時計算限流的力度,根據力度決定請求是繼續還是回退。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


不管限流力度還是權重都依賴於服務的健康狀態,服務健康狀態由多個指標進行衡量,如服務的處理時間、網絡的傳輸時間、節點所在機器物理資源使用量等等。建立數學模型,可以看到最終效果就是想限哪個就把它壓到那個值。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統是整個系統的核心保障,流量作弊是沒法規避,但如果加了這個額外處理會話時間肯定要上去。為了要保證實時性,因此我們把反作弊流程進行了分拆,分為實時和離線兩個部分,同時將處理流程儘量異步化。最終把反作弊處理耗時壓縮到了 3ms 以內。通過三層過濾,現在可以做到準確識別 98% 以上的虛假流量。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統核心遵循兩個原則,一個是實時和離線協同,二是機器和人工協同。AI 算法雖然厲害但是某些部分還是要靠人類智慧來總結規則,我們把實時的數據通過三層過濾得到結果,同時把實時數據和歷史數據進行合併來訓練模型,然後加上人工分析形成一些策略在模型訓練的時候加進去,最終生成一個模型,這個模型會實時反饋更新系統。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


Alan Kay 說過一句話,面向對象的核心是消息傳遞。設計一個龐大且持續增長的系統,最應該關注的是內部子系統之間怎麼交互,而不是先考慮系統具備什麼屬性。Actor 模型在真正意義上實現了 Alan 所講的面向對象概念。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


一次交易過程涉及的邏輯非常多,剛開始做的時候是同步阻塞式的,但是隨著處理環節越來越多如果還是採用同步阻塞模式耗時就太高了,所以我們模擬 CPU 超流水線重構了業務處理流程,最終效果是提升了任務併發並提高了吞吐。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


目前,我們對接了國內上百家的 DSP,在鉅額寬帶費用以及會話時間成本、人工運營成本增加的情況下,我們實現了一個智能 QPS 調節模塊。

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


這是當前的新架構,大框架與之前沒有太大的變化,還是分為三個部分:流量網關、服務集群和 DSP。流量網關具備限流能力,相當於“保險絲”保護後面的系統,同時還具備流量統計、分流、故障隔離等功能。

內部容器集群分為三種,測試、聯調、生產集群。業務日誌全部進入統計計算引擎,這些數據會輔助做運營決策以及後面做一些監測,整個系統由 APM 負責監控。原來是沒有防火牆的,隨著業務的增長,為了確保安全,我們上線了併發性非常強的防火牆。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


說一下流量網關的設計。為什麼做流量網關呢?一是內部存在多個系統都需要用流量,不同的系統對接比較麻煩,對人力成本消耗比較大;二是流量對接與競價耦合,流量接入迭代快上線動靜大,因此我們做了拆分,把流量網關獨立了出來。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


上圖是限流系統可視化的解釋,首先我們要實時檢測服務後端,當一個流量進來以後實時計算限流的力度,根據力度決定請求是繼續還是回退。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


不管限流力度還是權重都依賴於服務的健康狀態,服務健康狀態由多個指標進行衡量,如服務的處理時間、網絡的傳輸時間、節點所在機器物理資源使用量等等。建立數學模型,可以看到最終效果就是想限哪個就把它壓到那個值。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統是整個系統的核心保障,流量作弊是沒法規避,但如果加了這個額外處理會話時間肯定要上去。為了要保證實時性,因此我們把反作弊流程進行了分拆,分為實時和離線兩個部分,同時將處理流程儘量異步化。最終把反作弊處理耗時壓縮到了 3ms 以內。通過三層過濾,現在可以做到準確識別 98% 以上的虛假流量。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統核心遵循兩個原則,一個是實時和離線協同,二是機器和人工協同。AI 算法雖然厲害但是某些部分還是要靠人類智慧來總結規則,我們把實時的數據通過三層過濾得到結果,同時把實時數據和歷史數據進行合併來訓練模型,然後加上人工分析形成一些策略在模型訓練的時候加進去,最終生成一個模型,這個模型會實時反饋更新系統。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


Alan Kay 說過一句話,面向對象的核心是消息傳遞。設計一個龐大且持續增長的系統,最應該關注的是內部子系統之間怎麼交互,而不是先考慮系統具備什麼屬性。Actor 模型在真正意義上實現了 Alan 所講的面向對象概念。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


一次交易過程涉及的邏輯非常多,剛開始做的時候是同步阻塞式的,但是隨著處理環節越來越多如果還是採用同步阻塞模式耗時就太高了,所以我們模擬 CPU 超流水線重構了業務處理流程,最終效果是提升了任務併發並提高了吞吐。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


目前,我們對接了國內上百家的 DSP,在鉅額寬帶費用以及會話時間成本、人工運營成本增加的情況下,我們實現了一個智能 QPS 調節模塊。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


下面說一下緩存系統的設計,最開始我們所有做的東西是根據需求來,只要滿足需求,就沒有做太多的優化,因為當時量不大,所以是可以滿足的。

隨著業務量增加,老架構強依賴 DB 限制了服務水平擴展,同時還有配置生效實時性差、增量更新無法感知物理刪除以及服務 GC 壓力大、容易發生故障等問題。基於這個背景我們做了新架構,設計了新的緩存系統。

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


這是當前的新架構,大框架與之前沒有太大的變化,還是分為三個部分:流量網關、服務集群和 DSP。流量網關具備限流能力,相當於“保險絲”保護後面的系統,同時還具備流量統計、分流、故障隔離等功能。

內部容器集群分為三種,測試、聯調、生產集群。業務日誌全部進入統計計算引擎,這些數據會輔助做運營決策以及後面做一些監測,整個系統由 APM 負責監控。原來是沒有防火牆的,隨著業務的增長,為了確保安全,我們上線了併發性非常強的防火牆。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


說一下流量網關的設計。為什麼做流量網關呢?一是內部存在多個系統都需要用流量,不同的系統對接比較麻煩,對人力成本消耗比較大;二是流量對接與競價耦合,流量接入迭代快上線動靜大,因此我們做了拆分,把流量網關獨立了出來。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


上圖是限流系統可視化的解釋,首先我們要實時檢測服務後端,當一個流量進來以後實時計算限流的力度,根據力度決定請求是繼續還是回退。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


不管限流力度還是權重都依賴於服務的健康狀態,服務健康狀態由多個指標進行衡量,如服務的處理時間、網絡的傳輸時間、節點所在機器物理資源使用量等等。建立數學模型,可以看到最終效果就是想限哪個就把它壓到那個值。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統是整個系統的核心保障,流量作弊是沒法規避,但如果加了這個額外處理會話時間肯定要上去。為了要保證實時性,因此我們把反作弊流程進行了分拆,分為實時和離線兩個部分,同時將處理流程儘量異步化。最終把反作弊處理耗時壓縮到了 3ms 以內。通過三層過濾,現在可以做到準確識別 98% 以上的虛假流量。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統核心遵循兩個原則,一個是實時和離線協同,二是機器和人工協同。AI 算法雖然厲害但是某些部分還是要靠人類智慧來總結規則,我們把實時的數據通過三層過濾得到結果,同時把實時數據和歷史數據進行合併來訓練模型,然後加上人工分析形成一些策略在模型訓練的時候加進去,最終生成一個模型,這個模型會實時反饋更新系統。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


Alan Kay 說過一句話,面向對象的核心是消息傳遞。設計一個龐大且持續增長的系統,最應該關注的是內部子系統之間怎麼交互,而不是先考慮系統具備什麼屬性。Actor 模型在真正意義上實現了 Alan 所講的面向對象概念。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


一次交易過程涉及的邏輯非常多,剛開始做的時候是同步阻塞式的,但是隨著處理環節越來越多如果還是採用同步阻塞模式耗時就太高了,所以我們模擬 CPU 超流水線重構了業務處理流程,最終效果是提升了任務併發並提高了吞吐。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


目前,我們對接了國內上百家的 DSP,在鉅額寬帶費用以及會話時間成本、人工運營成本增加的情況下,我們實現了一個智能 QPS 調節模塊。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


下面說一下緩存系統的設計,最開始我們所有做的東西是根據需求來,只要滿足需求,就沒有做太多的優化,因為當時量不大,所以是可以滿足的。

隨著業務量增加,老架構強依賴 DB 限制了服務水平擴展,同時還有配置生效實時性差、增量更新無法感知物理刪除以及服務 GC 壓力大、容易發生故障等問題。基於這個背景我們做了新架構,設計了新的緩存系統。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


新架構不僅整個緩存系統高可用,而且更易於服務的水平擴展,而且新架構更新基於 binlog 支持了物理刪除。再有就是全量與增量分工協作,實時性高,所有的策略毫秒級生效,另外是數據剔除更加精準,消除了重複數據拉取,對 GC 更友好。

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


這是當前的新架構,大框架與之前沒有太大的變化,還是分為三個部分:流量網關、服務集群和 DSP。流量網關具備限流能力,相當於“保險絲”保護後面的系統,同時還具備流量統計、分流、故障隔離等功能。

內部容器集群分為三種,測試、聯調、生產集群。業務日誌全部進入統計計算引擎,這些數據會輔助做運營決策以及後面做一些監測,整個系統由 APM 負責監控。原來是沒有防火牆的,隨著業務的增長,為了確保安全,我們上線了併發性非常強的防火牆。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


說一下流量網關的設計。為什麼做流量網關呢?一是內部存在多個系統都需要用流量,不同的系統對接比較麻煩,對人力成本消耗比較大;二是流量對接與競價耦合,流量接入迭代快上線動靜大,因此我們做了拆分,把流量網關獨立了出來。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


上圖是限流系統可視化的解釋,首先我們要實時檢測服務後端,當一個流量進來以後實時計算限流的力度,根據力度決定請求是繼續還是回退。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


不管限流力度還是權重都依賴於服務的健康狀態,服務健康狀態由多個指標進行衡量,如服務的處理時間、網絡的傳輸時間、節點所在機器物理資源使用量等等。建立數學模型,可以看到最終效果就是想限哪個就把它壓到那個值。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統是整個系統的核心保障,流量作弊是沒法規避,但如果加了這個額外處理會話時間肯定要上去。為了要保證實時性,因此我們把反作弊流程進行了分拆,分為實時和離線兩個部分,同時將處理流程儘量異步化。最終把反作弊處理耗時壓縮到了 3ms 以內。通過三層過濾,現在可以做到準確識別 98% 以上的虛假流量。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統核心遵循兩個原則,一個是實時和離線協同,二是機器和人工協同。AI 算法雖然厲害但是某些部分還是要靠人類智慧來總結規則,我們把實時的數據通過三層過濾得到結果,同時把實時數據和歷史數據進行合併來訓練模型,然後加上人工分析形成一些策略在模型訓練的時候加進去,最終生成一個模型,這個模型會實時反饋更新系統。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


Alan Kay 說過一句話,面向對象的核心是消息傳遞。設計一個龐大且持續增長的系統,最應該關注的是內部子系統之間怎麼交互,而不是先考慮系統具備什麼屬性。Actor 模型在真正意義上實現了 Alan 所講的面向對象概念。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


一次交易過程涉及的邏輯非常多,剛開始做的時候是同步阻塞式的,但是隨著處理環節越來越多如果還是採用同步阻塞模式耗時就太高了,所以我們模擬 CPU 超流水線重構了業務處理流程,最終效果是提升了任務併發並提高了吞吐。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


目前,我們對接了國內上百家的 DSP,在鉅額寬帶費用以及會話時間成本、人工運營成本增加的情況下,我們實現了一個智能 QPS 調節模塊。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


下面說一下緩存系統的設計,最開始我們所有做的東西是根據需求來,只要滿足需求,就沒有做太多的優化,因為當時量不大,所以是可以滿足的。

隨著業務量增加,老架構強依賴 DB 限制了服務水平擴展,同時還有配置生效實時性差、增量更新無法感知物理刪除以及服務 GC 壓力大、容易發生故障等問題。基於這個背景我們做了新架構,設計了新的緩存系統。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


新架構不僅整個緩存系統高可用,而且更易於服務的水平擴展,而且新架構更新基於 binlog 支持了物理刪除。再有就是全量與增量分工協作,實時性高,所有的策略毫秒級生效,另外是數據剔除更加精準,消除了重複數據拉取,對 GC 更友好。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


日誌系統的設計,通過這個改進以後,我們把服務跟 flume 客戶端做了解耦,當前每天系統處理 20TB+ 日誌量,實時報表可以秒級更新,離線報表做多維度全景觀察,服務與日誌系統解耦更加高可用,日誌查詢輔助問題定位。

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


這是當前的新架構,大框架與之前沒有太大的變化,還是分為三個部分:流量網關、服務集群和 DSP。流量網關具備限流能力,相當於“保險絲”保護後面的系統,同時還具備流量統計、分流、故障隔離等功能。

內部容器集群分為三種,測試、聯調、生產集群。業務日誌全部進入統計計算引擎,這些數據會輔助做運營決策以及後面做一些監測,整個系統由 APM 負責監控。原來是沒有防火牆的,隨著業務的增長,為了確保安全,我們上線了併發性非常強的防火牆。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


說一下流量網關的設計。為什麼做流量網關呢?一是內部存在多個系統都需要用流量,不同的系統對接比較麻煩,對人力成本消耗比較大;二是流量對接與競價耦合,流量接入迭代快上線動靜大,因此我們做了拆分,把流量網關獨立了出來。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


上圖是限流系統可視化的解釋,首先我們要實時檢測服務後端,當一個流量進來以後實時計算限流的力度,根據力度決定請求是繼續還是回退。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


不管限流力度還是權重都依賴於服務的健康狀態,服務健康狀態由多個指標進行衡量,如服務的處理時間、網絡的傳輸時間、節點所在機器物理資源使用量等等。建立數學模型,可以看到最終效果就是想限哪個就把它壓到那個值。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統是整個系統的核心保障,流量作弊是沒法規避,但如果加了這個額外處理會話時間肯定要上去。為了要保證實時性,因此我們把反作弊流程進行了分拆,分為實時和離線兩個部分,同時將處理流程儘量異步化。最終把反作弊處理耗時壓縮到了 3ms 以內。通過三層過濾,現在可以做到準確識別 98% 以上的虛假流量。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統核心遵循兩個原則,一個是實時和離線協同,二是機器和人工協同。AI 算法雖然厲害但是某些部分還是要靠人類智慧來總結規則,我們把實時的數據通過三層過濾得到結果,同時把實時數據和歷史數據進行合併來訓練模型,然後加上人工分析形成一些策略在模型訓練的時候加進去,最終生成一個模型,這個模型會實時反饋更新系統。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


Alan Kay 說過一句話,面向對象的核心是消息傳遞。設計一個龐大且持續增長的系統,最應該關注的是內部子系統之間怎麼交互,而不是先考慮系統具備什麼屬性。Actor 模型在真正意義上實現了 Alan 所講的面向對象概念。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


一次交易過程涉及的邏輯非常多,剛開始做的時候是同步阻塞式的,但是隨著處理環節越來越多如果還是採用同步阻塞模式耗時就太高了,所以我們模擬 CPU 超流水線重構了業務處理流程,最終效果是提升了任務併發並提高了吞吐。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


目前,我們對接了國內上百家的 DSP,在鉅額寬帶費用以及會話時間成本、人工運營成本增加的情況下,我們實現了一個智能 QPS 調節模塊。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


下面說一下緩存系統的設計,最開始我們所有做的東西是根據需求來,只要滿足需求,就沒有做太多的優化,因為當時量不大,所以是可以滿足的。

隨著業務量增加,老架構強依賴 DB 限制了服務水平擴展,同時還有配置生效實時性差、增量更新無法感知物理刪除以及服務 GC 壓力大、容易發生故障等問題。基於這個背景我們做了新架構,設計了新的緩存系統。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


新架構不僅整個緩存系統高可用,而且更易於服務的水平擴展,而且新架構更新基於 binlog 支持了物理刪除。再有就是全量與增量分工協作,實時性高,所有的策略毫秒級生效,另外是數據剔除更加精準,消除了重複數據拉取,對 GC 更友好。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


日誌系統的設計,通過這個改進以後,我們把服務跟 flume 客戶端做了解耦,當前每天系統處理 20TB+ 日誌量,實時報表可以秒級更新,離線報表做多維度全景觀察,服務與日誌系統解耦更加高可用,日誌查詢輔助問題定位。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


現在的 APM 系統實現了 SaaS、PaaS、IaaS 全監控,狀態可視化,隨意組合,所有的數據秒級感知到,全鏈路追蹤,而且可以啟發優化點。

為什麼搞這麼多個告警網關呢?之前只有短信和郵件,郵件不是經常看,實時告警主要是依賴於短信,之前出現過短信延遲一小時的情況,因此用微信做了備份告警網關。

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


這是當前的新架構,大框架與之前沒有太大的變化,還是分為三個部分:流量網關、服務集群和 DSP。流量網關具備限流能力,相當於“保險絲”保護後面的系統,同時還具備流量統計、分流、故障隔離等功能。

內部容器集群分為三種,測試、聯調、生產集群。業務日誌全部進入統計計算引擎,這些數據會輔助做運營決策以及後面做一些監測,整個系統由 APM 負責監控。原來是沒有防火牆的,隨著業務的增長,為了確保安全,我們上線了併發性非常強的防火牆。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


說一下流量網關的設計。為什麼做流量網關呢?一是內部存在多個系統都需要用流量,不同的系統對接比較麻煩,對人力成本消耗比較大;二是流量對接與競價耦合,流量接入迭代快上線動靜大,因此我們做了拆分,把流量網關獨立了出來。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


上圖是限流系統可視化的解釋,首先我們要實時檢測服務後端,當一個流量進來以後實時計算限流的力度,根據力度決定請求是繼續還是回退。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


不管限流力度還是權重都依賴於服務的健康狀態,服務健康狀態由多個指標進行衡量,如服務的處理時間、網絡的傳輸時間、節點所在機器物理資源使用量等等。建立數學模型,可以看到最終效果就是想限哪個就把它壓到那個值。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統是整個系統的核心保障,流量作弊是沒法規避,但如果加了這個額外處理會話時間肯定要上去。為了要保證實時性,因此我們把反作弊流程進行了分拆,分為實時和離線兩個部分,同時將處理流程儘量異步化。最終把反作弊處理耗時壓縮到了 3ms 以內。通過三層過濾,現在可以做到準確識別 98% 以上的虛假流量。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統核心遵循兩個原則,一個是實時和離線協同,二是機器和人工協同。AI 算法雖然厲害但是某些部分還是要靠人類智慧來總結規則,我們把實時的數據通過三層過濾得到結果,同時把實時數據和歷史數據進行合併來訓練模型,然後加上人工分析形成一些策略在模型訓練的時候加進去,最終生成一個模型,這個模型會實時反饋更新系統。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


Alan Kay 說過一句話,面向對象的核心是消息傳遞。設計一個龐大且持續增長的系統,最應該關注的是內部子系統之間怎麼交互,而不是先考慮系統具備什麼屬性。Actor 模型在真正意義上實現了 Alan 所講的面向對象概念。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


一次交易過程涉及的邏輯非常多,剛開始做的時候是同步阻塞式的,但是隨著處理環節越來越多如果還是採用同步阻塞模式耗時就太高了,所以我們模擬 CPU 超流水線重構了業務處理流程,最終效果是提升了任務併發並提高了吞吐。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


目前,我們對接了國內上百家的 DSP,在鉅額寬帶費用以及會話時間成本、人工運營成本增加的情況下,我們實現了一個智能 QPS 調節模塊。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


下面說一下緩存系統的設計,最開始我們所有做的東西是根據需求來,只要滿足需求,就沒有做太多的優化,因為當時量不大,所以是可以滿足的。

隨著業務量增加,老架構強依賴 DB 限制了服務水平擴展,同時還有配置生效實時性差、增量更新無法感知物理刪除以及服務 GC 壓力大、容易發生故障等問題。基於這個背景我們做了新架構,設計了新的緩存系統。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


新架構不僅整個緩存系統高可用,而且更易於服務的水平擴展,而且新架構更新基於 binlog 支持了物理刪除。再有就是全量與增量分工協作,實時性高,所有的策略毫秒級生效,另外是數據剔除更加精準,消除了重複數據拉取,對 GC 更友好。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


日誌系統的設計,通過這個改進以後,我們把服務跟 flume 客戶端做了解耦,當前每天系統處理 20TB+ 日誌量,實時報表可以秒級更新,離線報表做多維度全景觀察,服務與日誌系統解耦更加高可用,日誌查詢輔助問題定位。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


現在的 APM 系統實現了 SaaS、PaaS、IaaS 全監控,狀態可視化,隨意組合,所有的數據秒級感知到,全鏈路追蹤,而且可以啟發優化點。

為什麼搞這麼多個告警網關呢?之前只有短信和郵件,郵件不是經常看,實時告警主要是依賴於短信,之前出現過短信延遲一小時的情況,因此用微信做了備份告警網關。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我們在 2018 年年初引進了 Kubernetes,基於 Docker 實現了全部服務的容器化。master 集群服務於上百臺的服務機器集群,如果 master 掛了整個集群就癱了。我們採用分佈於 5 個獨立機櫃且獨立子網的機器構成 master 集群,確保整個集群的高可用。

除了“一鍵”滾動升級與回滾,集群還支持定向彈性擴縮容、多租戶隔離、多粒度資源配置管理,以及透明的服務註冊與服務發現。

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


這是當前的新架構,大框架與之前沒有太大的變化,還是分為三個部分:流量網關、服務集群和 DSP。流量網關具備限流能力,相當於“保險絲”保護後面的系統,同時還具備流量統計、分流、故障隔離等功能。

內部容器集群分為三種,測試、聯調、生產集群。業務日誌全部進入統計計算引擎,這些數據會輔助做運營決策以及後面做一些監測,整個系統由 APM 負責監控。原來是沒有防火牆的,隨著業務的增長,為了確保安全,我們上線了併發性非常強的防火牆。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


說一下流量網關的設計。為什麼做流量網關呢?一是內部存在多個系統都需要用流量,不同的系統對接比較麻煩,對人力成本消耗比較大;二是流量對接與競價耦合,流量接入迭代快上線動靜大,因此我們做了拆分,把流量網關獨立了出來。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


上圖是限流系統可視化的解釋,首先我們要實時檢測服務後端,當一個流量進來以後實時計算限流的力度,根據力度決定請求是繼續還是回退。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


不管限流力度還是權重都依賴於服務的健康狀態,服務健康狀態由多個指標進行衡量,如服務的處理時間、網絡的傳輸時間、節點所在機器物理資源使用量等等。建立數學模型,可以看到最終效果就是想限哪個就把它壓到那個值。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統是整個系統的核心保障,流量作弊是沒法規避,但如果加了這個額外處理會話時間肯定要上去。為了要保證實時性,因此我們把反作弊流程進行了分拆,分為實時和離線兩個部分,同時將處理流程儘量異步化。最終把反作弊處理耗時壓縮到了 3ms 以內。通過三層過濾,現在可以做到準確識別 98% 以上的虛假流量。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統核心遵循兩個原則,一個是實時和離線協同,二是機器和人工協同。AI 算法雖然厲害但是某些部分還是要靠人類智慧來總結規則,我們把實時的數據通過三層過濾得到結果,同時把實時數據和歷史數據進行合併來訓練模型,然後加上人工分析形成一些策略在模型訓練的時候加進去,最終生成一個模型,這個模型會實時反饋更新系統。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


Alan Kay 說過一句話,面向對象的核心是消息傳遞。設計一個龐大且持續增長的系統,最應該關注的是內部子系統之間怎麼交互,而不是先考慮系統具備什麼屬性。Actor 模型在真正意義上實現了 Alan 所講的面向對象概念。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


一次交易過程涉及的邏輯非常多,剛開始做的時候是同步阻塞式的,但是隨著處理環節越來越多如果還是採用同步阻塞模式耗時就太高了,所以我們模擬 CPU 超流水線重構了業務處理流程,最終效果是提升了任務併發並提高了吞吐。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


目前,我們對接了國內上百家的 DSP,在鉅額寬帶費用以及會話時間成本、人工運營成本增加的情況下,我們實現了一個智能 QPS 調節模塊。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


下面說一下緩存系統的設計,最開始我們所有做的東西是根據需求來,只要滿足需求,就沒有做太多的優化,因為當時量不大,所以是可以滿足的。

隨著業務量增加,老架構強依賴 DB 限制了服務水平擴展,同時還有配置生效實時性差、增量更新無法感知物理刪除以及服務 GC 壓力大、容易發生故障等問題。基於這個背景我們做了新架構,設計了新的緩存系統。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


新架構不僅整個緩存系統高可用,而且更易於服務的水平擴展,而且新架構更新基於 binlog 支持了物理刪除。再有就是全量與增量分工協作,實時性高,所有的策略毫秒級生效,另外是數據剔除更加精準,消除了重複數據拉取,對 GC 更友好。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


日誌系統的設計,通過這個改進以後,我們把服務跟 flume 客戶端做了解耦,當前每天系統處理 20TB+ 日誌量,實時報表可以秒級更新,離線報表做多維度全景觀察,服務與日誌系統解耦更加高可用,日誌查詢輔助問題定位。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


現在的 APM 系統實現了 SaaS、PaaS、IaaS 全監控,狀態可視化,隨意組合,所有的數據秒級感知到,全鏈路追蹤,而且可以啟發優化點。

為什麼搞這麼多個告警網關呢?之前只有短信和郵件,郵件不是經常看,實時告警主要是依賴於短信,之前出現過短信延遲一小時的情況,因此用微信做了備份告警網關。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我們在 2018 年年初引進了 Kubernetes,基於 Docker 實現了全部服務的容器化。master 集群服務於上百臺的服務機器集群,如果 master 掛了整個集群就癱了。我們採用分佈於 5 個獨立機櫃且獨立子網的機器構成 master 集群,確保整個集群的高可用。

除了“一鍵”滾動升級與回滾,集群還支持定向彈性擴縮容、多租戶隔離、多粒度資源配置管理,以及透明的服務註冊與服務發現。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


下面說一個比較務虛但是我認為比較重要的東西。要做到系統高可用、平臺高可用,除了技術上的保障,還涉及到很多非技術的東西。一件事情如果需要多方參與,就不可避免出現協作上的問題,因此在整個過程中需要一些規範和一些制度來保障。我們所有的代碼提交,都必須經過 code review,在 code review 過程中會給版本定級。同時我們還設有月度的 bug review,即每個月月底研發、測試會一起來審視當月測試過程中發現的 bugs,把 bugs 分級分類,看是哪些人犯的,有沒有共性,下一步怎麼改善,同時把這些跟個人績效掛鉤以防止再犯並鼓勵大家把測試做好。我們採用 JIRA 來做需求流程管理,但我們做了一系列的定製,確保每一步的產出都是可交付可追溯的。從需求提出到產品設計方案、研發編碼發版、測試人員進行測試、運維上線,最後反饋到產品,這整個流程必須全部可交付、可驗證,而且要留檔。只有這樣才可以做相應的覆盤、自我檢查和自我改進。

最後是價值的跟蹤,這個是流程管理的重要一環。我們針對全部需求做價值跟蹤。一般需求分兩類,一個是效益類(即需求上線提升了多少效益),另外是效率類(即需求上線節省了多少時間)。這些再進一步反饋到流程管理的需求提出的這一層。再就是 TDD,TDD 執行前期比較耗時,但是養成習慣以後非常有益於從源頭做好方案設計。

除此之外,還需要具備風險意識,上線以後每一秒都在產生價值,全部代碼都會影響營收,因此我們要求每個人有相應的風險意識。再者是 DevOps,這個不是開發運維而是開發運營,我們要求是每個研發人員都能主動往前走,走到需求方,看自己的代碼到底滿足了什麼滿足到了什麼程度,然後再回過頭看自己做的東西的價值,以及如何做得更好。這對整體業務是非常有幫助的。

福利時間

乾貨沒看夠?沒關係,更精彩的內容等你來!

2019 年 6 月 14-15 日, 由極客邦科技旗下 TGO 鯤鵬會主辦的 GTLC 全球技術領導力峰會將正式在上海舉行,我們精心策劃了技術、思維、戰略、管理、視野及領導力等六大專場,並邀請行業內最具影響力的管理者許式偉、季昕華、陸棟棟等大咖加入講師天團,他們將通過體系化、有洞見的分享幫你應對不斷升級的挑戰!

先送上 9 折福利:點擊搶佔席位

精彩嘉賓議題搶先看

曹衡康 紅帽 全球副總裁 & 中國區總裁

《領導力藍圖 — 打造開放式組織》

李曉東 民生銀行信息科技部技術管理中心負責人

《金融科技的轉型探索之路》

顧旻曼 真格基金 董事總經理 & 華東區負責人

《價值與邏輯:從資本角度看技術創業》

季昕華 UCloud 創始人 & CEO

《做技術人,還是做企業家— 職場選擇的洞察與決策》

許式偉 七牛雲 創始人 & CEO

《技術創業紅利期爆發,如何走好創業路》

更多精彩議題,請前往 一探究竟,一個匯聚 500+ 位高端技術管理者,30+ 位重磅嘉賓的技術領導力盛會,千萬不要錯過哦!

"

廣告、電商和遊戲是互聯網變現的三個最主要手段,而電商中除了直接賣東西的部分,其他本質上也是廣告。科大訊飛作為一家 AI 公司,擁有 90 餘萬開發者以及海量數據。利用自身的 AI 實力和大數據能力,科大訊飛廣告業務實現了從零到百億級的日交易量,它的業務架構是如何演進的?期間遇到哪些問題?架構中各子系統又是如何設計的?

在 TGO 鯤鵬會武漢分會活動現場,來自科大訊飛數字廣告事業部技術負責人仉乾隆帶來了《從零到百億級日交易量:廣告實時競價平臺架構演進之路》的主題分享,來看看科大訊飛如何以技術實力賦能營銷升級。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我先說一下當前的系統現狀,整個系統平臺是分為入口和出口,每天入口 PV 100 億左右,競價次數每日 300 億左右,單次會話平均 40ms 左右,每天日誌數量為 20TB+。上圖是業務模型,中間是廣告交易平臺。廣告交易平臺核心是交易,所以肯定是有買有賣,賣的是流量,流量即媒體,廣告主來買。

目前,絕大部分廣告主要投廣告的時候,一般是先找 DSP,然後通過我們的廣告交易平臺,最後找到媒體。

廣告交易平臺有兩個核心服務,一是流量交易,二是廣告監測。我們在廣告上一直在不停嘗試 AI 相關的算法,希望把廣告做的更有效果,所以我們強依賴數據服務和算法服務。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


接下來再來說老架構,最開始時,我們只有幾個程序員和產品,因此無論是服務,還是數據,我們都做得是最精簡的。但隨著業務量的增長,出現了幾個問題:一、無法滿足高可用;二、無法滿足高吞吐;三、無法滿足高性能;四、運維成本高;五、運營效率低。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


這是當前的新架構,大框架與之前沒有太大的變化,還是分為三個部分:流量網關、服務集群和 DSP。流量網關具備限流能力,相當於“保險絲”保護後面的系統,同時還具備流量統計、分流、故障隔離等功能。

內部容器集群分為三種,測試、聯調、生產集群。業務日誌全部進入統計計算引擎,這些數據會輔助做運營決策以及後面做一些監測,整個系統由 APM 負責監控。原來是沒有防火牆的,隨著業務的增長,為了確保安全,我們上線了併發性非常強的防火牆。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


說一下流量網關的設計。為什麼做流量網關呢?一是內部存在多個系統都需要用流量,不同的系統對接比較麻煩,對人力成本消耗比較大;二是流量對接與競價耦合,流量接入迭代快上線動靜大,因此我們做了拆分,把流量網關獨立了出來。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


上圖是限流系統可視化的解釋,首先我們要實時檢測服務後端,當一個流量進來以後實時計算限流的力度,根據力度決定請求是繼續還是回退。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


不管限流力度還是權重都依賴於服務的健康狀態,服務健康狀態由多個指標進行衡量,如服務的處理時間、網絡的傳輸時間、節點所在機器物理資源使用量等等。建立數學模型,可以看到最終效果就是想限哪個就把它壓到那個值。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統是整個系統的核心保障,流量作弊是沒法規避,但如果加了這個額外處理會話時間肯定要上去。為了要保證實時性,因此我們把反作弊流程進行了分拆,分為實時和離線兩個部分,同時將處理流程儘量異步化。最終把反作弊處理耗時壓縮到了 3ms 以內。通過三層過濾,現在可以做到準確識別 98% 以上的虛假流量。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


反作弊系統核心遵循兩個原則,一個是實時和離線協同,二是機器和人工協同。AI 算法雖然厲害但是某些部分還是要靠人類智慧來總結規則,我們把實時的數據通過三層過濾得到結果,同時把實時數據和歷史數據進行合併來訓練模型,然後加上人工分析形成一些策略在模型訓練的時候加進去,最終生成一個模型,這個模型會實時反饋更新系統。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


Alan Kay 說過一句話,面向對象的核心是消息傳遞。設計一個龐大且持續增長的系統,最應該關注的是內部子系統之間怎麼交互,而不是先考慮系統具備什麼屬性。Actor 模型在真正意義上實現了 Alan 所講的面向對象概念。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


一次交易過程涉及的邏輯非常多,剛開始做的時候是同步阻塞式的,但是隨著處理環節越來越多如果還是採用同步阻塞模式耗時就太高了,所以我們模擬 CPU 超流水線重構了業務處理流程,最終效果是提升了任務併發並提高了吞吐。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


目前,我們對接了國內上百家的 DSP,在鉅額寬帶費用以及會話時間成本、人工運營成本增加的情況下,我們實現了一個智能 QPS 調節模塊。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


下面說一下緩存系統的設計,最開始我們所有做的東西是根據需求來,只要滿足需求,就沒有做太多的優化,因為當時量不大,所以是可以滿足的。

隨著業務量增加,老架構強依賴 DB 限制了服務水平擴展,同時還有配置生效實時性差、增量更新無法感知物理刪除以及服務 GC 壓力大、容易發生故障等問題。基於這個背景我們做了新架構,設計了新的緩存系統。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


新架構不僅整個緩存系統高可用,而且更易於服務的水平擴展,而且新架構更新基於 binlog 支持了物理刪除。再有就是全量與增量分工協作,實時性高,所有的策略毫秒級生效,另外是數據剔除更加精準,消除了重複數據拉取,對 GC 更友好。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


日誌系統的設計,通過這個改進以後,我們把服務跟 flume 客戶端做了解耦,當前每天系統處理 20TB+ 日誌量,實時報表可以秒級更新,離線報表做多維度全景觀察,服務與日誌系統解耦更加高可用,日誌查詢輔助問題定位。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


現在的 APM 系統實現了 SaaS、PaaS、IaaS 全監控,狀態可視化,隨意組合,所有的數據秒級感知到,全鏈路追蹤,而且可以啟發優化點。

為什麼搞這麼多個告警網關呢?之前只有短信和郵件,郵件不是經常看,實時告警主要是依賴於短信,之前出現過短信延遲一小時的情況,因此用微信做了備份告警網關。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


我們在 2018 年年初引進了 Kubernetes,基於 Docker 實現了全部服務的容器化。master 集群服務於上百臺的服務機器集群,如果 master 掛了整個集群就癱了。我們採用分佈於 5 個獨立機櫃且獨立子網的機器構成 master 集群,確保整個集群的高可用。

除了“一鍵”滾動升級與回滾,集群還支持定向彈性擴縮容、多租戶隔離、多粒度資源配置管理,以及透明的服務註冊與服務發現。

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


下面說一個比較務虛但是我認為比較重要的東西。要做到系統高可用、平臺高可用,除了技術上的保障,還涉及到很多非技術的東西。一件事情如果需要多方參與,就不可避免出現協作上的問題,因此在整個過程中需要一些規範和一些制度來保障。我們所有的代碼提交,都必須經過 code review,在 code review 過程中會給版本定級。同時我們還設有月度的 bug review,即每個月月底研發、測試會一起來審視當月測試過程中發現的 bugs,把 bugs 分級分類,看是哪些人犯的,有沒有共性,下一步怎麼改善,同時把這些跟個人績效掛鉤以防止再犯並鼓勵大家把測試做好。我們採用 JIRA 來做需求流程管理,但我們做了一系列的定製,確保每一步的產出都是可交付可追溯的。從需求提出到產品設計方案、研發編碼發版、測試人員進行測試、運維上線,最後反饋到產品,這整個流程必須全部可交付、可驗證,而且要留檔。只有這樣才可以做相應的覆盤、自我檢查和自我改進。

最後是價值的跟蹤,這個是流程管理的重要一環。我們針對全部需求做價值跟蹤。一般需求分兩類,一個是效益類(即需求上線提升了多少效益),另外是效率類(即需求上線節省了多少時間)。這些再進一步反饋到流程管理的需求提出的這一層。再就是 TDD,TDD 執行前期比較耗時,但是養成習慣以後非常有益於從源頭做好方案設計。

除此之外,還需要具備風險意識,上線以後每一秒都在產生價值,全部代碼都會影響營收,因此我們要求每個人有相應的風險意識。再者是 DevOps,這個不是開發運維而是開發運營,我們要求是每個研發人員都能主動往前走,走到需求方,看自己的代碼到底滿足了什麼滿足到了什麼程度,然後再回過頭看自己做的東西的價值,以及如何做得更好。這對整體業務是非常有幫助的。

福利時間

乾貨沒看夠?沒關係,更精彩的內容等你來!

2019 年 6 月 14-15 日, 由極客邦科技旗下 TGO 鯤鵬會主辦的 GTLC 全球技術領導力峰會將正式在上海舉行,我們精心策劃了技術、思維、戰略、管理、視野及領導力等六大專場,並邀請行業內最具影響力的管理者許式偉、季昕華、陸棟棟等大咖加入講師天團,他們將通過體系化、有洞見的分享幫你應對不斷升級的挑戰!

先送上 9 折福利:點擊搶佔席位

精彩嘉賓議題搶先看

曹衡康 紅帽 全球副總裁 & 中國區總裁

《領導力藍圖 — 打造開放式組織》

李曉東 民生銀行信息科技部技術管理中心負責人

《金融科技的轉型探索之路》

顧旻曼 真格基金 董事總經理 & 華東區負責人

《價值與邏輯:從資本角度看技術創業》

季昕華 UCloud 創始人 & CEO

《做技術人,還是做企業家— 職場選擇的洞察與決策》

許式偉 七牛雲 創始人 & CEO

《技術創業紅利期爆發,如何走好創業路》

更多精彩議題,請前往 一探究竟,一個匯聚 500+ 位高端技術管理者,30+ 位重磅嘉賓的技術領導力盛會,千萬不要錯過哦!

從零到百億級,揭祕科大訊飛廣告平臺架構演進之路


"

相關推薦

推薦中...