精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

性感美女一区二区三区| 国产性色一区二区| 亚洲1区2区3区视频| 亚洲成色777777在线观看影院| 蜜桃91精品入口| 欧美成人国产精品高潮| 日本在线精品| 久久久综合精品| 一区二区三区高清国产| 99精品在线免费视频| 性生活视频软件| 91影院成人| 欧美午夜电影在线播放| 欧美精品亚洲精品| 亚洲天堂视频网站| 黄色欧美网站| 亚洲国产va精品久久久不卡综合| 成人在线免费观看视视频| 精品视频站长推荐| 久久av色综合| 亚洲精选91| 亚洲高清在线观看| 日韩肉感妇bbwbbwbbw| 国产区在线视频| 青青草国产成人99久久| 在线电影欧美日韩一区二区私密| 国产91在线免费观看| 成人在线观看亚洲| 国产精品一区久久久久| 欧美成人激情视频免费观看| 三级网站免费看| 韩国女主播一区二区| 亚洲国产裸拍裸体视频在线观看乱了| 亚欧洲精品在线视频免费观看| 亚洲欧美一二三区| 精品国产一区二区三区噜噜噜| 欧洲亚洲国产日韩| 亚洲欧洲日韩综合二区| 亚洲影院一区二区三区| 99精品在线免费在线观看| 欧美日本在线视频| 国产精品视频一二三四区| 粉嫩小泬无遮挡久久久久久| 一区二区激情| 一区二区成人精品| 中文字幕乱码在线| 色天使综合视频| 成人欧美一区二区三区| 成人欧美一区二区三区在线观看| 国产午夜激情视频| 国产一区二区电影在线观看| 欧美猛男超大videosgay| 免费日韩在线观看| 国产一区久久精品| caoporm超碰国产精品| 日韩免费在线免费观看| 亚洲区一区二区三| 2023国产精华国产精品| 狠狠色香婷婷久久亚洲精品| 亚洲国产精品综合| 高清av在线| 久久精品水蜜桃av综合天堂| 日本电影一区二区三区| a级片在线播放| 老鸭窝91久久精品色噜噜导演| 日韩中文字在线| 亚洲成av人片在线观看无| 欧美经典一区| 欧美中文字幕亚洲一区二区va在线| 日本网站免费在线观看| 秋霞伦理一区| 亚洲卡通动漫在线| 日本午夜精品一区二区三区| 精品99又大又爽又硬少妇毛片| 国产中文一区二区三区| 91国自产精品中文字幕亚洲| xxxxx99| 成人动态视频| 这里只有精品免费| 日本三区在线观看| av资源一区| 亚洲欧洲制服丝袜| 五月天丁香综合久久国产| jizz视频在线观看| wwwwxxxxx欧美| 99久久无色码| 国产免费叼嘿网站免费| 三级欧美韩日大片在线看| 久久久久久久网站| 成熟的女同志hd| 精品欧美激情在线观看| 色香阁99久久精品久久久| 无码人妻精品一区二区三区温州| 日韩精品一区二区三区中文在线| 欧美性色综合网| 免费看的av网站| 亚洲素人在线| 国产丝袜一区二区| 国产熟女高潮一区二区三区| 久久不见久久见中文字幕免费| 精品福利av导航| 午夜影院免费版| 伊人久久大香线蕉无限次| 最好看的2019年中文视频| 久久午夜无码鲁丝片| 亚洲精品a级片| 久久视频在线免费观看| 欧美美女性生活视频| 欧美午夜精彩| 中文字幕在线日韩| 婷婷综合在线视频| 亚洲国产一区二区三区a毛片 | 日本一区免费在线观看| 亚洲h视频在线观看| 久久天天做天天爱综合色| 久久99国产精品一区| 快射av在线播放一区| 精品日韩美女的视频高清| 永久免费黄色片| 欧美视频精品全部免费观看| 亚洲欧洲日本专区| 亚洲精品成人无码| 欧美日韩老妇| 久久久日本电影| 精品美女久久久久| 国产精品免费看| 日本亚洲欧美成人| 韩国av在线免费观看| 综合欧美亚洲日本| 国产wwwxx| 91麻豆精品| 日韩精品中文字幕在线一区| 黑森林av导航| 亚洲乱码免费伦视频| 欧美国产日韩一区二区| 国语对白一区二区| 韩国成人在线视频| 国产精品久久久久久免费观看 | 色噜噜国产精品视频一区二区| 日韩欧美不卡视频| 久久男女视频| 91在线观看免费高清完整版在线观看| 国产区视频在线播放| 色综合久久久久综合体桃花网| 国产a级片免费观看| 欧美天堂社区| 精品国产一区二区三区在线观看 | 日韩理论片一区二区| 激情婷婷综合网| 精品免费av| 国产精品极品美女在线观看免费| 国产精品欧美亚洲| 99视频国产精品| 性欧美大战久久久久久久| 亚洲精品粉嫩美女一区| 亚洲色图校园春色| 日韩免费av网站| 亚洲国产精品成人久久综合一区| 日韩视频在线观看视频| 国模私拍一区二区国模曼安| 欧美午夜一区二区| www.av欧美| 欧美激情五月| 国产精品入口免费视| 国产综合视频在线| 亚洲一区二区三区视频在线| 密臀av一区二区三区| 亚洲一区二区三区中文字幕在线观看| 欧美成人手机在线| 成人毛片视频免费看| 天天影视网天天综合色在线播放| 天天操天天干天天做| 欧美综合精品| 国产精品av在线| 日本美女一级片| 中文字幕一区三区| 成人毛片视频网站| 经典一区二区| 成人激情视频网| 国产乱码在线| 5月丁香婷婷综合| 69av视频在线| 91丨porny丨蝌蚪视频| 久久久久久三级| 中文在线日韩| 精品一区二区三区国产| 羞羞网站在线免费观看| 欧美日韩视频在线第一区 | 国产精彩免费视频| 91精品动漫在线观看| 国产欧美一区二区视频| dy888亚洲精品一区二区三区| 精品欧美乱码久久久久久1区2区| 日韩av网站在线播放| 国产成人亚洲综合a∨婷婷图片| 亚洲人体一区| 亚洲第一会所001| 欧美老妇交乱视频| 国产视频手机在线观看| 精品久久久视频| 日韩欧美综合视频| 久久亚洲私人国产精品va媚药| 天堂在线一区二区三区| 99精品视频在线| 国产在线精品一区| 巨大黑人极品videos精品| 国产午夜精品免费一区二区三区 | av黄色在线免费观看| 国产剧情在线观看一区二区| 国产v亚洲v天堂无码久久久| 伊人成人在线| 国产亚洲二区| 在线免费成人| 国产成+人+综合+亚洲欧洲 | 婷婷丁香激情综合| 登山的目的在线| 国产亚洲综合性久久久影院| 日韩成人av影院| 极品少妇xxxx精品少妇| 999香蕉视频| 日韩亚洲国产精品| 色一情一乱一乱一区91| 国产在线一区不卡| 欧美国产视频一区二区| 在线观看美女网站大全免费| 欧美日韩精品一二三区| 天天综合天天干| 亚洲国产日韩av| 综合五月激情网| 中文字幕一区二区三区在线不卡 | 欧美成人黄色网址| 久久久噜噜噜久久狠狠50岁| 日本丰满少妇xxxx| 小嫩嫩12欧美| 国产日产久久高清欧美一区| 黄在线免费看| 中文字幕亚洲第一| 黄色在线观看网| 亚洲欧美精品中文字幕在线| 欧美日韩 一区二区三区| 国产精品每日更新在线播放网址| 波多野结衣免费观看| 久久精品国产第一区二区三区| 亚洲自拍偷拍一区二区三区| 第九色区aⅴ天堂久久香| 日韩欧美在线观看强乱免费| 国产一区二区三区四区二区| 欧美在线播放一区| 精品国产精品| 新呦u视频一区二区| 欧美国产美女| 亚洲国产精品影视| 在线一区免费| 丰满的少妇愉情hd高清果冻传媒| 免费电影一区二区三区| 久久久久无码国产精品一区| japansex久久高清精品| 国产日韩精品视频| 国产一区 二区| 国产91精品一区二区绿帽| xxxx日韩| 欧美黑人3p| jlzzjlzz亚洲女人| 中国老女人av| 激情欧美亚洲| 91av俱乐部| 国产一区欧美日韩| 国产xxxx视频| 国产女人18水真多18精品一级做| 香蕉视频污视频| 激情综合网天天干| 欧美69精品久久久久久不卡| 免费在线视频一区| 丰满爆乳一区二区三区| 玖玖国产精品视频| 激情黄色小视频| 成人白浆超碰人人人人| 91丝袜超薄交口足| 国产.精品.日韩.另类.中文.在线.播放| 国产一区亚洲二区三区| 蜜桃av噜噜一区二区三区小说| 深爱五月综合网| 26uuu亚洲| 欧美第一页在线观看| 黄色成人在线播放| 夜夜嗨aⅴ一区二区三区| 精品日韩一区二区| 欧美男男激情freegay| 亚洲大尺度美女在线| 国产免费av在线| 欧美极品少妇全裸体| 成人免费av电影| 粉嫩av一区二区三区免费观看 | 在线视频一区观看| 奇米亚洲欧美| 亚洲小视频在线播放| 欧美专区18| 99国产精品免费视频| 国产日韩欧美一区二区三区综合| 欧美日韩人妻精品一区二区三区| 色综合中文字幕国产| www黄色在线观看| 欧美成人伊人久久综合网| 日韩大片b站免费观看直播| 亚洲精品动漫100p| 午夜在线观看视频18| 亚洲国产中文字幕久久网| yjizz视频网站在线播放| 欧美激情亚洲自拍| 久久麻豆视频| 久久综合入口| 欧美日韩亚洲三区| 黄色片视频在线| 精品一区二区免费在线观看| 欧美日韩一区二区三区69堂| www.在线欧美| 九九热精品免费视频| 亚洲一区在线视频| 在线免费观看日韩视频| 亚洲精品中文字幕有码专区| 调教一区二区| 成人福利网站在线观看11| 久久爱www成人| 亚洲熟女乱色一区二区三区| 久久福利影视| 亚洲天堂2024| 一区二区三区日本| 97超碰人人干| 日韩女同互慰一区二区| 91蜜桃在线视频| 亚洲 日韩 国产第一| 奇米777日韩| 国产精品自产拍在线观看中文 | 在线91免费看| eeuss影院www在线播放| 国产成人精品久久二区二区91| 日本福利一区| 日韩欧美视频网站| 成人av一区二区三区| 精品午夜福利视频| 精品福利一区二区三区免费视频| 伊人春色在线观看| 97超碰人人看人人| 国产一区二区三区四区五区传媒 | 欧美性生活一级| 国产不卡一区二区在线观看| 中文字幕一区二区三区欧美日韩 | 2018中文字幕一区二区三区| 国产厕拍一区| 视频在线精品一区| 视频一区二区欧美| 国产三级短视频| 亚洲午夜羞羞片| 狠狠综合久久av一区二区| 欧美交受高潮1| 老司机成人在线| 黄www在线观看| 国产视频911| 亚洲香蕉在线视频| 久久久精品视频在线观看| 国产日韩一区二区三免费高清| 51xx午夜影福利| 成av人片一区二区| 欧产日产国产69| 精品少妇一区二区三区免费观看| 午夜激情在线| 精品国产一区二区三| 久热精品在线| 婷婷伊人五月天| 色欧美乱欧美15图片| 亚洲国产av一区二区| 久久久视频免费观看| 亚洲电影一级片| 天天干天天玩天天操| 一区二区三区在线观看动漫| 国产综合无码一区二区色蜜蜜| 欧美中文字幕视频| h视频久久久| 人妻少妇被粗大爽9797pw| 成人午夜在线免费| 九九精品视频免费| 精品国产网站在线观看| 欧美片第1页| 久久国产精品免费观看| 91蜜桃视频在线| 国产熟女一区二区三区五月婷 | 成人白浆超碰人人人人| 精品无码一区二区三区的天堂| 色噜噜亚洲精品中文字幕| 97人人澡人人爽91综合色| 国产xxxxx在线观看| 亚洲精品中文在线观看| 午夜视频www| 成人福利视频在线观看| 99精品视频免费全部在线| 亚洲欧洲综合网| 日韩激情在线视频| 9999精品成人免费毛片在线看| 欧美性大战久久久久| 国产精品99久久久久久似苏梦涵|