精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

轉轉一體化推送平臺的實踐

開發 架構
本文介紹了轉轉一體化推送平臺的實現,現已成為多業務日常推送的通用工具。未來會在諸如推送目標轉化率、推送結果定向通知等方面繼續完善和豐富系統能力。

1 背景

轉轉不同業務會根據各自業務特點,經常性地向不同用戶推送各種消息。例如:

  • 每天向部分圖書新用戶發放紅包,并推送站內卡片消息,以刺激新客增長;
  • 每周向部分奢侈品用戶發送站內系統消息,以召回老用戶;
  • 在世界圖書日推送站內消息,同時發布圖書微信公眾號消息;
  • 在指定日期,向游戲線索商家推送push,并發送短信提醒等等。

圖片圖片

隨著各業務的不斷成熟,“消息推送”類型的需求逐漸累積,我們從中總結出了如下特點:

  • 不同業務的推送主體不同,例如:圖書、游戲、奢品等。
  • 每次推送面向的用戶群不同,例如:瀏覽過某些頁面的用戶、提交過某種訂單的用戶、新注冊的用戶等。
  • 用戶數據來源不同,有些是通過執行HiveSQL生成的,有些是通過用戶畫像平臺圈定的,有些是產品同學人工指定的Excel表格。
  • 推送渠道多種多樣,包含紅包、push&IM消息、短信、公眾號消息等。此外,還包含組合發送的情況,例如:先發紅包再發push,站內消息和短信同時推送等。
  • 每個推送對應各自的推送內容,包含:標題文案、落地頁、圖片等。同時,可能會伴隨文案的動態替換。例如:點擊消息,跳轉至訂單詳情頁,需要根據不同用戶替換不同落地頁鏈接。
  • 不同推送有各自的推送頻次,有些是定時周期性推送,有些是臨時一次性推送。此外,周期維度各不相同,有些是每天發送,有些是指定一周中的某幾天推送。
  • 推送需求的業務目的不同,有些是為了拉新,有些是為了召回,還有些是為了提醒用戶。

痛點在于,每次面對新的推送,我們都需要針對上述特點,編碼一個新的推送任務,而每個任務的實現過程,都伴隨著重復搬磚:

  • 都需要增加一套推送配置,進而生成一套消息上下文;
  • 為了保證可靠性,都需要做防重頻率校驗;
  • 為了提升效率,都需要通過異步方式提升速度;
  • 為了保證高數據量級下的系統能力,還需要同時進行速度控制。
  • 都需要統計對成功率、觸達率、打開率做統計。

上述的重復能力的實現會造成冗余代碼和人力成本。此外,每個推送配置分散在各個角落,也不方便代碼維護。因此,需要一個較為通用的推送平臺,將這一類需求進行統一管理。

2 設計思路

整體設計思路為:將“可變的”配置化,將“不變的”系統化。

2.1 將"可變"的配置化

維護一張推送配置表,為每一個推送需求創建一條配置記錄。上述背景中提到的“特點”即為“可變的”,將其抽象為配置表中的一個字段。例如:

  • “業務方”字段:將推送主體抽象成一個枚舉類,每個業務方對應枚舉類中的一個值。
  • “推送類型”字段:將不同推送渠道抽象成不同推送類型,該字段存儲的是渠道列表,允許同一推送需求選擇多個推送渠道。
  • 各推送內容字段:標題、文案、落地頁、圖片、紅包計劃id等。此外,針對上述類似“訂單詳情頁”的推送,需要在配置項中加入占位符,例如:不同用戶根據訂單id區分落地頁,則需要在鏈接的相應位置中加入${訂單id}占位符。
  • 用戶來源相關字段:若為HiveSQL生成的,則需要填寫“文件id”和“API key”,以觸發sql任務執行;若來自用戶畫像平臺,則需要填寫“人群id”,以從拉取圈定數據;若為人工指定,則需要上傳excel文件,由系統解析。

2.2 將"不變"的系統化

將上述“重復編程”的工作內容,抽取成一套代碼,沉淀為通用的系統能力。例如:

  • 維護一張推送用戶表,記錄用戶id、對應的配置id、推送結果、失敗原因等。
  • 將配置表中的配置項和用戶表中的用戶信息,根據不同推送渠道,映射成推送上下文實體。
  • 執行推送前,進行用戶維度的防重和頻率校驗,若系統判斷重復推送,則直接將失敗結果寫回。
  • 執行推送時,開啟線程池異步,并限制遠程服務接口調用QPS。
  • 推送后,記錄推送結果,并分批將結果回寫至用戶表。

整體設計整體設計

按照上述思路,將開發后的推送工具可視化之后,當新增一個推送需求時,產品同學只需在后臺添加一個配置,將推送需求填充至各配置項即可。若用戶來源為HiveSQL生成,研發同學只需編寫SQL語句圈定用戶群,添加至用戶表。接下來的工作全部交給系統,即可滿足新的推送需求。一方面,將研發同學從重復搬磚中解放出來,省時省力;另一方面,所有推送配置集中交給后臺管理,方便維護。

3 實現細節

3.1 速度控制

  • 異步化:由一個主線程順序執行推送,顯然效率低下。為保證推送速度,我們使用線程池開啟異步推送:主線程只負責從庫表讀取推送數據,分批將推送任務提交至線程池任務隊列。

異步推送過程異步推送過程

  • 分片:當面對百萬甚至千萬級數據量時,推送任務集中在單節點上,一方面容易造成單機過載,另一方面容易達到性能上限。為進一步提升系統效率,并實現負載均衡,我們使用分片廣播調度:將推送任務分布至集群中各機器上,分片執行。分片策略:各機器分批從用戶表中讀取相同數據量的用戶,表主鍵id%機器數,若命中當前機器號,則執行推送。

分片調度分片調度


  • 斷點重試:用lastId記錄上一批次推送數據的結束位置,每臺機器將各自的lastId緩存至redis,用來標識執行進度。若任務異常中斷,將根據lastId進行斷點重試,避免全表掃描。
  • 接口限速:消息推送依賴平臺能力,因此在提升效率的同時,會在RPC接口調用處通過架構組件設置全局QPS限制。

3.2 資源分配策略

無論線程池、機器數還是配置的QPS限速為多少,單時段的推送資源都有上限。因此,在面對同一時段多個配置執行推送時,必然要解決資源分配問題。主要考慮如下幾種策略:

  • 按優先級順序

按優先級順序按優先級順序

這樣分配的好處在于,策略比較簡單,只需配置優先級即可解決資源分配問題。但同時會引入新的問題,例如:設置優先級時應該考慮哪些因素?當優先級相同時該如何處理等。此外,優先級低的配置可能始終沒機會被執行。

  • 按數據量大小

每個時段執行推送前,先計算當前時段各命中配置的數據量大小,按比例分配可執行的推送量。

例如:共有3個配置,總數據量分別為:40、20、20,每個時段最大推送量為:30。

時段1:命中配置為前2個,則按比例劃分的數據量分別為:20、10。推送結束后,3個配置的余量分別為:20、10、20。

時段2:待推配置為3個,將余量按比例劃分后的數據量為:12、6、12。推送結束后剩余:8,4,8。

時段3:將剩余數據推送完畢。

按數據量大小按數據量大小

按數據量分配的好處在于,可以根據推送進度,實時動態分配占比,保證每個配置都有機會推送數據,更加公平。但是策略相對復雜,每次推送前需要重新掃表計算數據量,一定程度上影響推送性能。

  • 均勻分配

每個時段推送前,根據當前命中的配置數,均勻分配推送量。例如:共有3個配置,總數據量分別為:40、20、20,每個時段最大推送量為:30。

時段1:待推配置為前2個,則均勻分配的數據量分別為:15、15。推送結束后,3個配置的余量分別為:25、5、20。

時段2:待推配置為3個,將余量均分30后的推送量為:10、5、10。推送結束后,第2個配置的5條數據全部推送完畢,其他配置的余量分別為:20、10。

時段3:剩余配置均分30后的推送量:15,10。剩余配置1的5條數據。

時段4:將配置1的數據全部推送。

均勻分配均勻分配

綜上,對比優先級策略,均勻分配可以保證公平性,每個配置都有機會執行一定數據量的推送,此外,均勻分配有一個默認優先級:數據量越小越先推送完成,符合業務場景要求;相比按數據量策略推送,均勻分配不需要二次讀表計算數據量,效率更高。因此,我們最終選擇均勻分配策略。

3.3 問題解決

  • 現象

系統上線后,面對千萬級的推送量,持續Full GC。

異常監控異常監控

  • 原因

主線程不斷讀取庫表,獲取用戶信息,分批提交至線程池執行推送。由于執行推送的耗時大于數據讀取,導致線程池任務隊列累積,進而造成內存積壓。

  • 改進

改用生產者-消費者模式

圖片圖片

維護一個固定長度的阻塞隊列,隊列不空時,由消費者從隊列中取數并執行推送;隊列不滿時,由生產者掃表取數并放入隊列。當生產者速度過快,即隊滿時,生產者線程阻塞,等待消費者推送數據完成后,隊列不滿時,再次喚醒。

  • 效果
  1. Full GC問題不復存在。
  2. 老年代使用明顯下降。

4 上線效果

目前,已將上述功能可視化至業務后臺,開放給多業務方。

圖片圖片

至此,每產生一個推送需求,產品同學只需在后臺新建一條推送配置,并根據需要填寫各配置項,即可完成推送。

圖片圖片

上線至今,已支持轉轉多業務方日常及活動推送,日均達百萬級推送量,最高可達兩千萬推送量。

5 總結

本文介紹了轉轉一體化推送平臺的實現,現已成為多業務日常推送的通用工具。未來會在諸如推送目標轉化率、推送結果定向通知等方面繼續完善和豐富系統能力。

關于作者

陳曦,轉轉訂單業務研發工程師。

責任編輯:武曉燕 來源: 轉轉技術
相關推薦

2023-12-20 07:35:03

大模型數據治理機器學習

2022-03-15 10:00:00

美團數據治理

2009-09-07 23:09:17

2024-07-10 08:52:17

2024-09-23 08:21:01

2017-05-16 10:46:06

博陽咨詢流程管理

2009-12-03 15:34:41

Suse Linux

2009-07-02 09:32:00

2022-03-18 10:09:14

Prometheus微服務架構

2009-08-17 22:32:25

IT運維管理監控運維一體化摩卡

2011-05-24 09:26:02

有線無線3G

2018-04-26 14:49:25

Hadoop數據基礎架構

2019-11-04 19:02:11

高德地圖MaaS平臺交通委

2013-10-25 14:07:15

華為智能監控VCN3000

2015-09-03 08:57:41

VMware

2011-07-26 14:57:39

2023-09-17 17:59:28

邊緣計算調度方案

2017-10-18 22:46:57

數據中心網絡通信技術

2014-08-18 13:28:54

IT運維
點贊
收藏

51CTO技術棧公眾號

久久久久久久久久综合| 精品亚洲视频在线| 国产系列电影在线播放网址| 日韩av电影天堂| 日韩在线播放视频| 又黄又色的网站| 欧美精品久久久久久久| 90岁老太婆乱淫| 国产精品色婷婷在线观看| 亚洲国产sm捆绑调教视频 | 999精品视频在线| 最新国产露脸在线观看| 国产日韩欧美a| 成人综合色站| 在线亚洲欧美日韩| 宅男噜噜噜66国产日韩在线观看| 中日韩美女免费视频网站在线观看 | 91麻豆精品久久毛片一级| 国产精品sss在线观看av| 欧美私模裸体表演在线观看| 日本一区午夜艳熟免费| 在线免费观看黄| 95精品视频在线| 91在线免费看片| 在线观看xxxx| 久久久精品午夜少妇| 午夜精品久久久久久久久久| 亚洲精品国产系列| 国产综合在线播放| 国产在线成人| 日韩中文字幕在线观看| 国产精品久久久久无码av色戒| 国产精品一区二区美女视频免费看| 色婷婷香蕉在线一区二区| 男女私大尺度视频| 日日夜夜天天综合入口| 日韩美女视频19| 亚洲欧美日韩国产yyy| 天堂a中文在线| 在线欧美三区| 欧美高清在线视频观看不卡| 亚洲天堂黄色片| 99国产精品一区二区| 亚洲香蕉伊综合在人在线视看| 国产麻豆xxxvideo实拍| 成人在线视频你懂的| 欧美一二三四在线| 亚洲视频在线不卡| 国产精品视频一区二区三区| 欧美麻豆精品久久久久久| 国产精品入口免费软件| 蜜桃成人精品| 欧美三日本三级三级在线播放| 国产天堂在线播放| 免费成人动漫| 色哦色哦哦色天天综合| 日韩av播放器| 日韩高清在线| 欧美久久久影院| av在线网站免费观看| 亚洲国产中文在线| 精品久久国产97色综合| 亚洲欧美高清在线| 国产精品xxxav免费视频| 亚洲高清一区二| 国产麻豆天美果冻无码视频 | 免费麻豆国产一区二区三区四区| 欧美精品一级| 国内精品视频久久| 欧美h在线观看| 日本不卡一二三区黄网| 成人免费观看网址| 亚洲av无码乱码国产精品久久 | 久久精品三级视频| 999久久久亚洲| 久久国产精品久久久久| 国产在线拍揄自揄拍| 国产精品免费看| 国产精品久久av| 国产又黄又粗又长| 国产一区观看| 6080yy精品一区二区三区| 国产成人无码av| 精品午夜一区二区三区在线观看| 亚洲free性xxxx护士hd| 午夜av免费观看| 国产欧美精品在线观看| 国产免费xxx| www.成人影院| 欧美一级在线免费| 极品白嫩丰满美女无套| 99久久夜色精品国产亚洲狼| 久久久久久一区二区三区 | 日本成人不卡| 色婷婷久久久亚洲一区二区三区 | 日韩在线观看一区二区三区| 日韩成人在线视频| 免费成人深夜夜行网站| 亚洲黄色成人| 欧美多人乱p欧美4p久久| 美日韩一二三区| 韩国女主播成人在线观看| 国产精品美女诱惑| 欧美jizz18性欧美| 天天色天天操综合| 91亚洲一区二区| 国产亚洲精品美女久久久久久久久久| 美女久久久久久久| 国产99免费视频| 懂色av一区二区三区免费观看| 日韩精品久久久免费观看| 香蕉成人app免费看片| 欧美在线观看一区| 噜噜噜在线视频| 欧美激情aⅴ一区二区三区| 日本免费在线精品| 天堂在线资源网| 一区二区三区精品| 福利视频999| sdde在线播放一区二区| 97成人超碰免| 免费看av毛片| 亚洲曰韩产成在线| 亚洲精品在线网址| 日本久久黄色| 国产成人精品久久亚洲高清不卡| 蜜臀久久久久久999| 亚洲男人的天堂一区二区 | 国产精品久久乐| 日韩精品在线观看视频| 久久久久97国产| 国产精品18久久久久| 久久久久亚洲av无码专区喷水| 国产一区二区主播在线| 亚洲人高潮女人毛茸茸| 欧美一级特黄视频| 91视频免费看| 能在线观看的av| 你懂的视频欧美| 日本精品一区二区三区在线| 视频一区二区在线播放| 精品久久久久久亚洲国产300| 亚洲日本久久久| 影院欧美亚洲| 国产一区二区三区黄| 日本h片在线| 精品久久人人做人人爰| 久草视频手机在线观看| 国产高清精品网站| 国产精品videossex国产高清| 亚洲a成人v| 久久亚洲精品视频| 国产成人精品免费看视频| 亚洲男人天堂一区| 久久久久中文字幕亚洲精品| 国产精品a久久久久| 俄罗斯精品一区二区| 国产精品电影| 日韩国产欧美区| 做爰视频毛片视频| 国产精品第一页第二页第三页| 天美一区二区三区| 亚洲视屏一区| 欧美精品v日韩精品v国产精品| 成人软件在线观看| 丝袜一区二区三区| 国产极品久久久| 亚洲黄色性网站| 女性生殖扒开酷刑vk| 国产精品久久久久9999高清| 日韩电影免费观看在| 欧美综合影院| 欧美国产日韩在线| 日本中文字幕一区二区有码在线 | 992tv成人免费影院| 精品视频三区| 911精品产国品一二三产区| 久草免费在线视频观看| 久久免费精品国产久精品久久久久| mm1313亚洲国产精品无码试看| 噼里啪啦国语在线观看免费版高清版| 永久免费精品视频| 欧美一区二区.| 五月婷婷在线观看| 精品88久久久久88久久久| 高清乱码免费看污| 亚洲免费观看高清完整| 久久丫精品国产亚洲av不卡| 久久精品国产秦先生| 国产av人人夜夜澡人人爽麻豆 | 国产精品白丝jk黑袜喷水| 国产精品自拍片| 91麻豆精品国产91久久久平台| 亚洲最大av网站| 国模套图日韩精品一区二区| 久久亚洲影音av资源网| 十九岁完整版在线观看好看云免费| 精品视频一区二区三区免费| 成人免费看片98| 国产精品系列在线| 亚洲av成人无码一二三在线观看| 日本不卡免费在线视频| 老太脱裤让老头玩ⅹxxxx| 日韩电影免费网址| 久久综合福利| 粉嫩久久久久久久极品| 国产欧美日韩中文| 亚洲黄色网址| 欧美激情欧美狂野欧美精品| av网站在线免费观看| 亚洲级视频在线观看免费1级| 亚洲图片欧美在线| 色综合久久六月婷婷中文字幕| 久久亚洲成人av| 国产精品大尺度| 大胸美女被爆操| 久久精品一区二区三区四区| 国产精品久久久久久亚洲av| 国内外成人在线| 色婷婷一区二区三区av免费看| 国产亚洲毛片| 精品无码国模私拍视频| 欧美久久99| 影音先锋男人的网站| 成人情趣视频| 青青成人在线| 久操精品在线| 久久日韩精品| 欧美有码在线| 国产日韩欧美精品| 超碰成人福利| av观看久久| 年轻的保姆91精品| 91亚洲精品在线观看| 成人交换视频| 国产精品久久久久久亚洲调教 | 一色道久久88加勒比一| 99国产精品久| 中文字幕av观看| 2014亚洲片线观看视频免费| 午夜视频在线观看国产| 成人av在线看| 人妻无码中文久久久久专区| av欧美精品.com| 亚洲精品乱码久久久久久久| av中文一区二区三区| 久久久久国产精品无码免费看| 大美女一区二区三区| 女性生殖扒开酷刑vk| www.视频一区| 成人免费看aa片| 久久久久久久综合色一本| 扒开jk护士狂揉免费| 久久亚洲综合色一区二区三区| 国产成人精品无码免费看夜聊软件| 久久久久久黄色| 亚洲女同二女同志奶水| 中文字幕一区二区三区四区不卡| 无码人妻精品中文字幕| 亚洲美女视频在线观看| 久久在线视频精品| 精品高清一区二区三区| 手机在线看片1024| 欧美日韩你懂得| 国产成人精品一区二区无码呦| 精品av久久707| 高清中文字幕一区二区三区| 色偷偷综合社区| 99视频免费在线观看| 97视频在线观看视频免费视频| 免费亚洲电影| 91久久国产婷婷一区二区| julia中文字幕一区二区99在线| 精品国产综合久久| 欧美精品一区二区三区精品| 一级黄色免费在线观看| 国内精品福利| 免费观看成人网| 国产精品一区二区男女羞羞无遮挡| 在线免费看黄色片| 欧美国产一区二区| 欧美极品视频在线观看| 色天天综合色天天久久| 国产绿帽刺激高潮对白| 亚洲国产精品一区二区久| yourporn在线观看中文站| 久久艳片www.17c.com | 日韩在线播放一区二区| 国产在线观看中文字幕| 91小视频在线| 97在线观看免费高| 色综合久久久久久久久久久| 国产乱色精品成人免费视频| 日韩精品在线影院| sm国产在线调教视频| 日本国产一区二区三区| 日本一区二区三区电影免费观看| 欧洲亚洲一区二区三区四区五区| 亚洲成人二区| 国产成人亚洲精品无码h在线| 国产尤物一区二区| 亚洲一区视频在线播放| 亚洲午夜电影网| 丰满圆润老女人hd| 亚洲色图欧美偷拍| 在线免费观看av网址| 欧美精品一区二区久久久| 黄在线免费看| 国产精品久久久久久久久久久不卡 | 欧美三级电影一区二区三区| 91精品国产乱码久久久久久蜜臀 | 精品99久久久久成人网站免费| 色悠久久久久综合欧美99| 成人免费公开视频| 久久天堂电影网| 国产精品专区免费| 精品毛片久久久久久| 亚洲色图二区| 天天爽夜夜爽一区二区三区| 91婷婷韩国欧美一区二区| 国产精品18p| 欧美成人福利视频| 国产色在线观看| 国产在线一区二区三区| 人人狠狠综合久久亚洲婷| 欧美极品欧美精品欧美图片| 不卡一区在线观看| 国产亚洲欧美精品久久久久久| 91.成人天堂一区| 久久日韩视频| 成人免费网视频| 久久精品青草| 亚洲午夜激情影院| 中文字幕在线一区| 亚洲一区二区人妻| 在线观看欧美日韩| julia一区二区三区中文字幕| 日韩片电影在线免费观看| 久久激情网站| 免费观看a级片| 在线观看亚洲精品视频| 国产毛片av在线| 国产欧美日韩视频| 国产精品99久久| www.污网站| 一区二区三区高清在线| www日本视频| 欧美激情在线有限公司| 国产一区调教| 啊啊啊一区二区| 久久久久久电影| 亚洲怡红院av| 欧美另类第一页| 成人偷拍自拍| 18禁免费无码无遮挡不卡网站| 国产视频一区在线播放| 日本一区二区三区久久| 日韩有码片在线观看| 国产高清日韩| 国产妇女馒头高清泬20p多| 91丨国产丨九色丨pron| 无码人妻黑人中文字幕| 色诱女教师一区二区三区| 国产精品麻豆| 精品视频在线观看一区| 久久综合九色综合欧美98| 中文字幕av免费观看| 久久这里只有精品视频首页| 在线日韩成人| 欧美韩国日本在线| 欧美激情一区二区三区蜜桃视频| 国产又色又爽又黄又免费| 久久久久久国产精品三级玉女聊斋| 精品三级av在线导航| www欧美激情| 亚洲一区二区三区影院| 男女污视频在线观看| 成人福利在线观看| 亚洲精品1234| 一级在线观看视频| 欧美成人乱码一区二区三区| 婷婷午夜社区一区| 日本一级淫片演员| 91视频一区二区三区| 91一区二区视频| 97av在线视频| 中文字幕免费一区二区| 丰满少妇高潮一区二区| 91精品国产综合久久蜜臀| 成人免费网站观看| 一区二区三区我不卡| 成人短视频下载| 一级黄色免费片| 欧美性受xxxx黑人猛交| 中文字幕一区二区三区乱码图片 | 欧美中文一区二区| 一级黄色大片免费看| 欧美在线影院一区二区| 成人免费观看在线观看| 特色特色大片在线|