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

美國大選期間,Urban Airship如何將系統擴展至發送25億個通知的規模?

譯文
新聞 CIOAge
Urban Airship現在每天發送的推送通知平均超過10億個。本文介紹了2016年美國大選期間Urban Airship的通知使用情況,探討其Core Delivery Pipeline系統架構,該系統為新聞媒體發送了數十億的實時通知。

【51CTO.com快譯】近來,Urban Airship受到期望與移動技術一同增長的成千上萬家公司的信賴。Urban Airship是一家成立七年的SaaS公司,它采用了一種免費增值的商業模式。

Urban Airship現在每天發送的推送通知平均超過10億個。本文介紹了2016年美國大選期間Urban Airship的通知使用情況,探討其Core Delivery Pipeline系統架構,該系統為新聞媒體發送了數十億的實時通知。

 

2016年美國大選

在選舉日前后的24小時內,Urban Airship發送了25億個通知――這是其迄今為止***日發送量。這相當于美國每人收到8個通知或世界上每部活躍智能手機收到1個通知。雖然Urban Airship支持45000多個應用程序,覆蓋每個行業垂直領域,但是分析選舉使用數據后顯示,400多個媒體應用程序在這創記錄的發送量中占到了60%,大家在跟蹤報告選舉結果時,它在單單一天內就發送了15億個通知。

Urban Airsjip

總統選舉結束時,通知量趨于穩定,并達到峰值。

Urban Airship API的HTTPS入站流量在選舉期間達到每秒近75K的峰值。大部分流量來自與Urban Airship API通信的Urban Airship軟件開發工具包(SDK)。

Urban Airsjip通知峰值情況

推送通知量一直在快速增長。最近的主要驅動因素是英國退歐、奧運會和美國大選。2016年10月的月通知量同比猛增了150%。

 

Core Delivery Pipeline 架構解密

Core Delivery Pipeline(CDP)是Urban Airship的核心系統,負責利用audience selector工具來確定設備地址,并發送通知。其發送的所有通知都要做到低延遲,無論它們同時推送到數千萬用戶,發送給多個復雜的子群,含有個性化內容,還是其他什么。下面概述了這套系統的架構以及該公司汲取的若干經驗。

他們是如何開始入手的

2009 年,CDP最初只是一個Web應用程序,一些worker模塊轉變成了面向服務的架構(SOA)。由于舊系統的一些部分開始遇到規模問題后,我們將它們提取為一個或多個新服務,這些服務旨在提供同樣的功能集,但是支持更大的規模,并擁有更好的性能。我們的許多原始API和worker是用Python編寫的,將它們提取為高并發的Java服務。最初,是將設備數據存儲在一組Postgres數據庫分片中,但公司規模的增長速度超過了添加新數據庫分片的能力,于是系統遷移到了使用HBase和Cassandra的多數據庫架構。

CDP 是一系列負責處理分段和推送通知的服務。這些服務提供了響應請求的同一種類型的數據,但出于性能原因,每個服務都以全然不同的方式索引該數據。比如,我們有一個系統負責處理廣播消息,將同樣的通知內容推送到已向相關應用程序注冊的每個設備。該服務及底層的數據存儲區其設計方式與我們擁有的,負責基于位置或用戶概況屬性來發送通知的服務全然不同。

我們把任何長時間運行的進程都看作服務。這些長時間運行的進程密切關注一個通用模板,涉及度量指標、配置和日志,以便易于部署和操作。通常,我們的服務屬于RPC服務或消費者服務這兩個組中的一個。RPC服務提供這些使用內部庫與服務同步交互的命令,非常類似GRPC,而消費者服務處理來自Kafka數據流的消息,并對那些消息執行針對特定服務的操作。

Urban Airship現在每天發送的推送通知平均超過10億個。本文介紹了2016年美Urban Airship的Core Delivery Pipeline系統架構

數據庫

為了滿足我們的性能和規模要求,我們高度依賴HBase和Cassandra以滿足數據存儲要求。雖然HBase和Cassandra都是列式NoSQL存儲庫系統,但是它們有著全然不同的取舍,影響著我們使用哪種存儲系統、派什么用場。

HBase非常擅長高吞吐量掃描,響應的預期基數(cardinality)非常高,而Cassandra擅長較低基數的查詢,預計響應只含有少數結果。兩者都允許大量的寫入吞吐量,這是我們的一個要求,因為來自用戶手機的所有元數據更新都是實時的。

它們的故障特點也不一樣。一旦遇到失敗,HBase傾向于一致性和分區容錯性,而Cassandra傾向于可用性和分區容錯性。每個CDP服務都有非常具體的使用場合,因此有一種非常專用的數據庫模式(schema),旨在便于所需的訪問模式以及限制存儲占用空間。一般說來,每個數據庫僅由單個服務來訪問,該服務負責通過一個不大專用的接口,滿足數據庫訪問其他服務的要求。

服務及其后端數據庫之間實現這種1:1的關系有許多優點:

·通過將服務的后端數據存儲區當作一個實現細節,而不是共享資源,我們獲得了靈活性。

·我們只要改變服務的代碼,就可以調整該服務的數據模型。

·使用情況跟蹤起來更簡單直觀,因而容量規劃來得更容易。

·故障排除更容易。有時問題出在服務代碼上,有時問題出在后端數據庫上。讓服務和數據庫成為一個邏輯單元極大地簡化了故障排除過程。我們沒必要搞清楚“還有誰可以訪問這個數據庫,讓它以這種方式來運行?”相反,我們可以依賴來自服務本身的應用程序層度量指標,只要為一組訪問模式操心。

·由于只有一個服務與數據庫交互,我們可以執行幾乎所有的維護活動,而不會停機。繁重的維護任務成為服務級別問題:數據修復、數據庫模式遷移甚至改用完全不同的數據庫,這些都可以在不中斷服務的前提下執行。

誠然,我們將應用程序分解為較小的服務時,性能方面可能會有一些下降。然而我們發現,我們可靈活地滿足高擴展性和高可用性方面的要求,性能下降一點也是完全值得的。

數據建模

我們的服務大多數處理同樣的數據,只是它們使用不同的格式。一切都要保持一致性。為了保持所有這些服務的數據更新,我們高度依賴Kafka。Kafka速度極快,也很牢靠。速度快帶來了某些缺點。只可保證Kafka消息至少發送一次,但不可保證它們按順序到達。

我們如何處理這個問題呢?我們將所有可變路徑建模為可交換的:操作可以按任何順序來進行,***獲得同樣的結果。它們也是冪等的。這有一個很好的附帶影響:我們可以重放Kafka數據流,進行一次性的數據修復工作、回填甚至遷移。

為此,我們充分利用了“單元版本”概念,HBase和Cassandra中都有這個概念。它通常是一個時間戳,但也可以是你喜歡的任何數字(有一些例外;比如MAX_LONG會導致一些奇怪的行為,這取決于HBase或Cassandra的版本以及你的數據庫模式如何處理刪除)。

對我們來說,這些單元的一般規則是,它們可以有多個版本,我們按照提供的時間戳對版本進行排序。考慮到這種行為,我們可以將入站消息分解為一組特定的列,并將該布局與自定義的應用程序邏輯合并起來,用于邏輯刪除,并考慮到了時間戳。這樣就可以對底層數據存儲區進行盲寫,同時保持數據的完整性。

將變化的部分盲寫到Cassandra和HBase并非沒有問題。一個典型例子就是在重放的情況下,重復寫入同樣數據。雖然由于我們努力確保記錄具有冪等性,數據狀態因而不會改變,但是重復數據必須壓縮去掉。在最極端的情況下,這些額外記錄可能導致顯著的壓縮延遲和備份。由于這個細節,我們密切關注壓縮時間和隊列深度,因為在 Cassandra和HBase中,壓縮操作都會導致嚴重問題。

通過確保來自數據流的消息遵循一系列嚴格的規則,并且設計的消費服務能夠處理無序和重復的消息,我們就可以確保大量的異步服務同步,更新時只有一兩秒的滯后。

服務設計

我們的大多數服務是用Java編寫的,但采用了一種非常獨特而現代的風格。我們在設計Java服務時考慮到了一系列基本的指導原則:

·只做一件事,并且把它做好――設計服務時,它應該只有一項責任。實施者決定這是什么樣的責任,但是她或他需要準備好在代碼審查時予以說明。

·沒有共享操作狀態――設計服務時,假設總是至少有三個實例在運行。服務需要能夠處理其他任何實例能夠處理的同一個請求,沒有任何外部協調。熟悉Kafka的那些人會特別指出,Kafka消費者從外部協調topic:group對的分區所有權。這個指導原則面向針對特定服務的外部協調,而不是利用可能從外部協調的庫或客戶端。

·限制隊列――我們在所有服務中使用隊列,這是分批處理請求的好方法。所有隊列都應該有限制。不過,限制隊列確實帶來了許多問題:

△隊列滿時生產者會發生什么?它們會阻塞嗎?例外處理?還是丟棄?

△我的隊列應該多大?要回答這個問題,假設隊列總是滿的有所幫助。

△如何干凈地關閉隊列?

△針對這些問題,每個服務會給出不同的答案,這取決于具體的使用場合。

·命名自定義線程池,并注冊UncaughtExceptionHandler――如果我們***創建自己的線程池,我們使用來自Executors的構造函數或幫助方法,讓我們得以提供ThreadFactory。有了這個ThreadFactory,我們就可以正確命名線程,設置守護進程狀態,并注冊UncaughtExceptionHandler來處理異常讓它進入到堆棧頂部的情況。這些措施將大大簡化服務的調試,并且讓我們不必在深夜備感沮喪。

·青睞不可變數據對象,而不是可變狀態――在高度并發環境中,可變狀態可能很危險。一般來說,我們使用可以在內部子系統和隊列之間傳遞的不可變數據對象。讓不可變對象成為子系統之間的主要通信形式,這樣一來,為并發使用進行設計要直觀簡單得多,還讓故障排除更容易。

 

下一步何去何從?

由于Urban Airship能夠通過移動錢包passes發送通知,新增對Web通知和蘋果新聞通知的支持,及其開放頻道能夠將通知發送到任何平臺、設備或營銷渠道,我們預計通知推送量會呈指數增長。為了滿足這種需求,我們繼續大力投資于Core Delivery Pipeline架構、服務、數據庫和基礎設施。

原文標題:How Urban Airship Scaled To 2.5 Billion Notifications During The U.S. Election,作者:Todd Hoff

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

責任編輯:wangxuze 來源: 51cto.com
相關推薦

2016-11-21 08:16:16

2020-10-14 10:40:40

美國大選網絡安全網絡威脅

2024-11-01 15:25:29

2016-11-17 09:14:24

2020-09-21 13:58:20

Twitter美國大選黑客

2020-09-11 10:55:22

黑客美國大選網絡攻擊

2019-12-26 10:58:46

大數據云計算工具

2021-05-16 05:47:32

Facebook網絡安全網絡攻擊

2023-01-04 14:17:05

低代碼

2024-04-22 09:02:42

2016-10-28 16:05:05

2021-03-10 13:34:22

大數據市場規模數字化

2014-06-03 11:16:02

寬帶網速

2017-01-12 22:13:44

2020-02-05 10:13:07

黑客網絡安全

2021-08-23 19:21:55

大數據大數據動向大數據應用

2025-01-06 07:00:00

大模型人工智能LLM

2019-09-25 09:50:29

高可用微服務系統

2020-11-24 11:12:53

數據中心網絡

2018-07-19 19:37:29

點贊
收藏

51CTO技術棧公眾號

久久丝袜美腿综合| 欧美jizz19性欧美| 亚洲欧美日韩中文字幕一区二区三区| 国产精品av在线| 日本人亚洲人jjzzjjz| 成人免费福利| 亚洲黄色小说网站| 欧美凹凸一区二区三区视频| 天天干天天操天天爱| 99精品电影| 亚洲第一页在线| 97超碰青青草| 国产精品剧情| 成人国产精品视频| 国产精品老女人视频| 欧美高清视频一区二区三区| 一道本一区二区三区| 欧美精品在线一区二区| www.av中文字幕| 精品自拍一区| 国产亚洲一区二区在线观看| 亚洲最大福利视频网| 丰满少妇乱子伦精品看片| 99久久精品费精品国产| 亚洲美女黄色片| 毛毛毛毛毛毛毛片123| 国产亚洲一区二区手机在线观看 | av毛片在线看| 国产亚洲短视频| 国产专区一区二区三区| 国产精品女人久久久| 石原莉奈在线亚洲三区| 国内精品视频在线| 日韩a级片在线观看| 日韩精品午夜| 在线亚洲男人天堂| 久久久亚洲av波多野结衣| aaa国产精品视频| 在线观看91精品国产麻豆| 成人3d动漫一区二区三区| ririsao久久精品一区| 亚洲六月丁香色婷婷综合久久 | 亚洲天堂激情| 免费99精品国产自在在线| 欧美一区二区三区粗大| 同性恋视频一区| 亚洲国产高清福利视频| 无码人妻一区二区三区免费n鬼沢 久久久无码人妻精品无码 | 欧美激情一级精品国产| 欧美在线视频第一页| 日韩电影免费在线观看| 中文字幕精品国产| 69精品无码成人久久久久久| 国产伦精品一区二区三区视频 | 成人xxxxx色| 性少妇videosexfreexxx片| 久久99精品国产.久久久久久| 国产精品福利无圣光在线一区| 成人公开免费视频| 狂野欧美性猛交xxxx巴西| 欧美一级成年大片在线观看| 毛片毛片女人毛片毛片| 欧美一级专区| 清纯唯美亚洲激情| 樱花视频在线免费观看| 日本免费在线视频不卡一不卡二 | 亚洲一区二区三区久久久| 欧美视频精品在线| 久久99999| 视频欧美精品| 日韩欧美专区在线| 日韩精品视频一区二区| 亚洲97av| 亚洲午夜激情免费视频| 熟女少妇内射日韩亚洲| 色一区二区三区四区| 蜜臀久久99精品久久久无需会员 | 亚洲调教视频在线观看| 国内精品国产三级国产在线专| 日韩av无码中文字幕| 亚洲自啪免费| 国产精品视频内| 国产熟女一区二区三区四区| 国产不卡高清在线观看视频| 国产亚洲精品久久飘花| 天天干天天爱天天操| 久久精品欧美一区二区三区麻豆| 午夜欧美一区二区三区免费观看| 成a人片在线观看| 午夜精品国产更新| 日韩欧美黄色大片| 91成人app| 亚洲福利视频在线| 免费黄色在线网址| 欧美欧美全黄| 日韩av大片免费看| 国产乱淫片视频| 99免费精品在线| 日韩亚洲欧美精品| 伊人精品影院| 色8久久精品久久久久久蜜| 国内av一区二区| 看全色黄大色大片免费久久久| 一区二区三区无码高清视频| 四虎免费在线视频| 久久久久久穴| 亚洲字幕在线观看| 国产特黄在线| 三级在线看中文字幕完整版| 五月天欧美精品| 中文字幕国内自拍| youjizz亚洲| 中文字幕精品网| 女人十八岁毛片| 精品一区二区影视| 欧美精品与人动性物交免费看| 黄色网在线免费看| 一本大道久久a久久综合| aaaaaaaa毛片| jvid福利在线一区二区| 久久免费高清视频| 91中文字幕在线播放| 久久亚洲一区二区三区明星换脸 | 欧美唯美清纯偷拍| 欧产日产国产精品98| 香蕉av一区二区| 国产成人精品电影| 天堂在线视频网站| 一区二区三区在线观看视频| 国产小视频精品| 亚洲婷婷伊人| 国内精品视频在线| 亚洲精品一区二区三区新线路 | 欧美日韩偷拍视频| 久久精品国产久精国产爱| 久久综合伊人77777麻豆| 日本一级理论片在线大全| 欧美日韩精品三区| 精品国产成人亚洲午夜福利| 99精品国产99久久久久久福利| 91精品国产一区二区三区动漫 | 精品在线91| 国模视频一区二区| 亚洲国产精品二区| 亚洲精品视频在线看| 污污的视频免费| 日韩av大片| 国产精品国产三级国产专播精品人| 无码精品人妻一区二区| 亚洲成av人片一区二区梦乃| 97免费公开视频| 久久精品影视| 91精品久久久久| 日本三级在线视频| 欧美区在线观看| 啪啪一区二区三区| 久久狠狠亚洲综合| 综合色婷婷一区二区亚洲欧美国产| 日本高清不卡一区二区三区视频 | 精品福利av| 国产精品污www一区二区三区| 肉肉视频在线观看| 精品久久久久久无| 丰满少妇乱子伦精品看片| 91丝袜美腿高跟国产极品老师| 可以在线看的av网站| 台湾色综合娱乐中文网| 欧洲精品久久久| h网站在线免费观看| 欧美日韩美少妇| 欧美精品久久久久久久久46p| 国产在线精品一区在线观看麻豆| 400部精品国偷自产在线观看| 在线视频成人| 欧美激情欧美激情| 天堂中文网在线| 欧洲亚洲国产日韩| 男人的午夜天堂| 国产91精品一区二区麻豆网站| 日韩视频免费播放| 国产a久久精品一区二区三区| 国产美女扒开尿口久久久| 国产盗摄在线观看| 精品久久久久av影院| 在线观看免费av片| 国产精品欧美精品| 粗大的内捧猛烈进出视频| 亚洲在线一区| 亚洲免费av网| 久久中文资源| 91精品免费视频| 国产不卡人人| 色综合亚洲精品激情狠狠| а√天堂资源在线| 日韩欧美成人区| 国产午夜精品理论片在线| 国产成a人亚洲| 爆乳熟妇一区二区三区霸乳| 一区二区在线| 欧美日韩亚洲综合一区二区三区激情在线| xxxxx.日韩| 国内揄拍国内精品少妇国语| 国产特黄在线| 亚洲二区中文字幕| 一级α片免费看刺激高潮视频| 亚洲一区二区欧美| 国精品人伦一区二区三区蜜桃| 成人丝袜18视频在线观看| 国产又黄又猛又粗又爽的视频| 午夜亚洲福利| 亚洲精品乱码久久久久久蜜桃91| 99久久人爽人人添人人澡 | 男女啪啪免费视频网站| 日韩大片在线观看| 九九九久久久| 亚洲视频国产| 国产精品一二三视频| av漫画网站在线观看| 久久精品国产久精国产一老狼| 日韩私人影院| 精品99一区二区三区| 国产尤物视频在线观看| 欧美性少妇18aaaa视频| 国产亚洲精品久久久久久打不开| 国产精品久久久久婷婷| 白丝女仆被免费网站| 成人精品视频一区二区三区尤物| 五月天视频在线观看| 日日摸夜夜添夜夜添国产精品| 国产一线二线三线女| 久久国产精品成人免费观看的软件| 极品尤物一区二区三区| 亚洲国产精品免费视频| 国产欧美一区二区白浆黑人| 欧美极度另类| 26uuu亚洲伊人春色| 国内在线视频| 欧美高清视频在线| 黄色在线视频网站| 日韩在线www| 中文日本在线观看| 国产一区二区三区在线观看视频 | 在线免费观看日韩视频| 色婷婷亚洲精品| 国产精品久久久久久人| 欧美日韩国产一区二区| 久久午夜免费视频| 亚洲电影在线播放| 日本一级淫片色费放| 一区二区三区精品久久久| 欧美国产日韩在线观看成人| 亚洲欧洲精品一区二区三区不卡| 亚洲精品成人av久久| 国产欧美日韩综合| 级毛片内射视频| 国产精品视频一二三区| 欧美乱大交做爰xxxⅹ小说| 欧美国产一区二区| 麻豆视频免费在线播放| 国产精品国产三级国产有无不卡| 亚洲欧美日韩第一页| 成人欧美一区二区三区1314| 国产麻豆视频在线观看| 亚洲精品视频在线看| 国产一级片网址| 无吗不卡中文字幕| 99精品在线播放| 欧洲一区在线观看| 亚洲一区中文字幕在线| 欧美一区二区三区在线视频| 99在线精品视频免费观看软件 | 99国产精品免费视频| 国产91精品久久久久久久网曝门| 色哟哟无码精品一区二区三区| 99天天综合性| 永久免费毛片在线观看| 中文字幕一区日韩精品欧美| 国产av无码专区亚洲av毛网站| 亚洲一区二区三区视频在线播放| 国产午夜小视频| 色国产精品一区在线观看| 在线观看免费观看在线| 日韩欧美一区二区久久婷婷| 日韩一级片免费在线观看| 亚洲另类欧美自拍| 成人高清免费观看mv| 美女性感视频久久久| 一本大道色婷婷在线| 国产日韩精品在线播放| 第一区第二区在线| 日本一区二区三区免费看| 亚洲有吗中文字幕| 免费黄色日本网站| 国产一区二区视频在线播放| 欧美成人三级伦在线观看| 亚洲国产精品99久久久久久久久| 欧美精品一区二区蜜桃| 色噜噜狠狠成人中文综合| 国产女人高潮毛片| 精品一区二区三区三区| 成人黄色网址| 热久久这里只有精品| 日韩视频在线直播| 免费国产一区二区| 亚洲情侣在线| 日韩欧美在线免费观看视频| 国产精品夜夜爽| www..com.cn蕾丝视频在线观看免费版 | 极品久久久久久久| 亚洲成精国产精品女| 97精品人妻一区二区三区在线 | 嫩草在线视频| 国产91成人video| 午夜视频一区二区在线观看| 色一情一乱一伦一区二区三区| 欧美在线三区| 国产精品天天av精麻传媒| 岛国一区二区在线观看| 小向美奈子av| 欧美影院一区二区| 神宫寺奈绪一区二区三区| 久久中文字幕国产| 二吊插入一穴一区二区| 九九九九精品| 国产精品a久久久久| 毛片毛片毛片毛| 国产精品久久久久影院色老大| 香蕉影院在线观看| 亚洲电影免费观看| 羞羞网站在线看| 91久久精品日日躁夜夜躁国产| av中字幕久久| 激情综合在线观看| av亚洲产国偷v产偷v自拍| 天天干中文字幕| 91精品在线麻豆| 日本激情视频在线观看| 国产精品国语对白| 日韩mv欧美mv国产网站| 野外做受又硬又粗又大视频√| 国产一区啦啦啦在线观看| 色撸撸在线视频| 精品视频色一区| 日本三级视频在线播放| 国产美女91呻吟求| 999精品在线| 尤物网站在线看| 1024精品合集| 99久久精品无免国产免费| 久久精品国产69国产精品亚洲| 欧美亚洲人成在线| 手机成人av在线| 国产精品99久久久久久似苏梦涵| 综合五月激情网| 日韩女优电影在线观看| 欧美人与牲禽动交com| 99在线视频首页| 国产精品v欧美精品v日本精品动漫| 香蕉视频在线观看黄| 一区二区三区蜜桃| 熟妇人妻av无码一区二区三区| 97免费在线视频| 一区二区导航| 中文字幕 日韩 欧美| 亚洲婷婷国产精品电影人久久| 国产精品亚洲lv粉色| 久热99视频在线观看| 51精品国产| 午夜肉伦伦影院| 日本一区二区动态图| 97久久人国产精品婷婷| 欧美精品一区二区三区国产精品| 粉嫩av一区二区| 国产精品少妇在线视频| 国产精品美女视频| 国产黄频在线观看| 97精品在线观看| 欧美中文字幕一区二区| 日韩视频在线观看一区二区三区| 一二三区精品福利视频| 少妇性bbb搡bbb爽爽爽欧美| 国产精品视频网| 欧美网站在线| 中文字幕国产综合| 91 com成人网| 欧美aaaaa性bbbbb小妇| 亚洲国产日韩欧美| 国产成人综合精品三级| 好吊色在线视频| 久久综合网hezyo| 免费看成人人体视频| 人人干人人干人人| va视频在线观看| 亚洲性视频网站| 精品欧美视频| 国产亚洲天堂网| 亚洲黄色免费网站| 国产在线观看精品一区| 亚洲综合中文字幕在线观看| 亚洲在线成人|