日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

消息推送技术干货:美团实时消息推送服务的技术演进之路

發布時間:2024/3/13 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 消息推送技术干货:美团实时消息推送服务的技术演进之路 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文由美團技術團隊分享,作者“健午、佳猛、陸凱、馮江”,原題“美團終端消息投遞服務Pike的演進之路”,有修訂。

1、引言

傳統意義上來說,實時消息推送通常都是IM即時通訊這類應用的技術范疇,隨著移動端互聯網的普及,人人擁有手機、隨時都是“在線”已屬常態,于是消息的實時觸達能力獲得了廣泛的需求,已經不再局限于IM即時通訊這類應用中。

對于美團這種移動端“入口”級應用來說,實時消息的推送能力已經深入整個APP的方方面面。目前美團應用中使用的推送技術,是一個被命名為Pike的一套易接入、高可靠、高性能的雙向消息實時投遞服務

本文將首先從Pike的系統架構升級、工作模式升級、長穩保活機制升級等方面介紹2.0版本的技術演進,隨后介紹其在直播、游戲等新業務場景下的技術特性支持,并對整個系統升級過程中的技術實踐進行了總結,希望本文能給消息實時推送服務感興趣或從事相關工作的讀者以幫助和啟發。

(本文同步發布于:http://www.52im.net/thread-3662-1-1.html)

2、相關文章

實時消息推送技術文章參考:

  • 《魅族2500萬長連接的實時消息推送架構的技術實踐分享》
  • 《專訪魅族架構師:海量長連接的實時消息推送系統的心得體會》
  • 《百萬在線的美拍直播彈幕系統的實時推送技術實踐之路》
  • 《京東京麥商家開放平臺的消息推送架構演進之路》
  • 《解密“達達-京東到家”的訂單即時派發技術原理和實踐》
  • 《長連接網關技術專題(四):愛奇藝WebSocket實時推送網關技術實踐》
  • 《喜馬拉雅億級用戶量的離線消息推送系統架構設計實踐》
  • 《微信直播聊天室單房間1500萬在線的消息架構演進之路》
  • 《百度直播的海量用戶實時消息系統架構演進實踐》
  • 《技術干貨:從零開始,教你設計一個百萬級的消息推送系統》
  • 美團技術團隊分享的其它文章:

  • 《美團點評的移動端網絡優化實踐:大幅提升連接成功率、速度等》
  • 《深度解密美團的分布式ID生成算法》
  • 3、v1.0的前世今生

    3.1 v1.0 的誕生背景

    2015年,美團誕生了Shark終端網絡通道,為公司移動端提供長連代理加速服務。Shark通過網絡接入點的全球多地部署和保持長連來提升網絡請求的端到端成功率,降低端到端延時,從而提升用戶體驗。

    Pike 1.0是基于Shark長連通道實現的應用內推送服務。由于底層傳輸基于Shark長連通道,使得Pike 1.0天生便具有了低延時、高可靠、防DNS劫持等優秀基因。目前Pike 1.0在美團內部的即時通訊聊天、營銷推送、狀態下發、配置同步等業務場景都有廣泛使用。

    3.2 v1.0 的工作流程

    Pike 1.0 移動端SDK會在每次長連接創建成功后:

    • 1)使用APPID、設備唯一標識UnionID(美團唯一標識、點評唯一標識等)向服務器發起注冊;
    • 2)在注冊成功之后業務服務端就可以通過Pike 1.0服務端SDK提供的接口,主動向設備的App推送消息;
    • 3)服務端推送的消息通過長連接通道抵達客戶端,最后通過注冊的回調接口投遞給業務方。

    整體工作流程參見下圖:

    3.3 v1.0的優勢

    Pike 1.0底層傳輸基于Shark長連通道。

    所以Pike 1.0在以下幾個方面有不錯的表現:

    • 1)防劫持:底層通道直接使用IP直連,省去DNS解析耗時的同時也避免了被DNS劫持的風險;
    • 2)低延時:Shark長連接采用就近接入點長連接的方式,省去了傳統HTTP需要多次建連、握手的消耗,端到端數據傳輸延時相比HTTP大幅縮短;
    • 3)安全高:Shark采用自定義二進制協議進行數據傳輸,進行了通道級別的TLS加密,防篡改,更安全;
    • 4)體驗好:Pike 1.0與Shark共享服務集群,Shark長連通道在海外多地都部署了接入點,代理加速接入,網絡延時及成功率表現要優于常規請求。

    PS:移動網絡下HTTP、DNS的優化文章,可以看看下面這幾篇:

  • 《全面了解移動端DNS域名劫持等雜癥:原理、根源、HttpDNS解決方案等》
  • 《美圖App的移動端DNS優化實踐:HTTPS請求耗時減小近半》
  • 《百度APP移動端網絡深度優化實踐分享(一):DNS優化篇》
  • 3.4 v1.0的技術痛點

    Pike 1.0作為Shark的衍生產品固然有其閃光的地方,但是對Shark的強依賴所帶來的痛點更是讓開發人員叫苦不迭,主要痛點如下。

    3.4.1)代碼結構耦合:

    在客戶端SDK方面,Pike 1.0代碼與Shark代碼結構耦合,共用底層通道建連、數據加解密、二進制協議等邏輯。

    Pike 1.0與Shark代碼結構示意圖:

    耦合帶來的弊端一:代碼優化升級困難。針對一個SDK的變更經常需要更多地考慮對另一個SDK是否有負面影響,是否影響面可控,這就無端地增加了開發成本。

    耦合帶來的弊端二:Shark與Pike 1.0的網絡配置環境共用,如上圖所示,通過DebugPanel對SharkTunnel進行網絡環境配置都會同時對Shark和Pike 1.0生效,但是業務方在使用的時候往往只關注其中的一個SDK,不同SDK之間的相互影響引入了很多客服問題,也給客服問題的排查帶來了較多干擾因素。

    3.4.2)賬號體系混亂:

    Pike 1.0在同一個App上只支持一種設備唯一標識UnionID,不同App上注冊使用的UnionID會有不同,例如美團使用美團唯一標識,點評則使用點評唯一標識。

    假如一個業務只在一個App上使用的話Pike 1.0自然可以很好地工作,但是同一個業務有可能需要在多個App上同時使用(如下圖所示),如果業務方不對賬號體系進行兼容的話,美團App上使用點評唯一標識作為推送標識的業務將無法工作,點評App上使用美團唯一標識作為推送標識的的業務也會無法工作。

    這就導致同一個業務在不同App上的推送標識ID邏輯會非常復雜,后端要同時維護多套賬號體系之間的映射,才能解決賬號體系混亂的問題。

    Pike 1.0賬號體系不兼容示意圖:

    3.4.3)推送連接不穩定:

    Pike 1.0由于共用Shark的通道邏輯而缺乏推送場景專項優化,在檢測通道異常、斷連恢復等方面表現不夠優秀。在通道可用性上,Shark與Pike 1.0關注的SLA也有著很大的不同。

    例如:Shark在長連接通道不可用的情況下,可以通過降級短連接來規避業務網絡請求持續失敗所帶來的成功率下降問題。但是對于Pike 1.0此時如果通道不能快速恢復的話就會造成業務消息投送失敗,將直接影響消息投遞成功率。所以Shark通道針對連接保活的公共邏輯并不能完美地應用在Pike 1.0業務場景上。

    雖然Pike 1.0在Shark通道的基礎上進一步在協議層強化了心跳探測機制以提高通道可用性,但通道不能及時檢測異常還是時有發生。

    此外:Pike 1.0內部使用的事件分發技術的可靠性還暫時沒能達到100%,零星地會上報一些異常斷連而導致推送不成功的客服問題。

    綜上:針對推送連接不穩定專項優化的訴求也就不斷被提上日程。

    3.5 v2.0的誕生

    Pike 1.0現有的技術痛點在業務場景日益豐富的現狀下遭遇了諸多挑戰。

    為求解決Pike 1.0現有在Android和iOS平臺運營上遇到的問題:

    • 1)我們重新梳理產品架構與代碼實現;
    • 2)與基礎技術部另一個服務于H5的消息投遞服務Pike Web進行產品融合。

    進而推出全新的升級產品——Pike 2.0。

    下圖展示了Pike 2.0的產品全景。針對Pike 1.0的現狀,Pike 2.0前后端都做了諸多優化,包括技術架構升級、集群獨立、協議擴展等。

    其中在客戶端方面Pike 2.0提供了基于多語言實現服務于多平臺的SDK,在服務端方面Pike使用部署Java應用的分布式集群來提供服務。

    Pike 2.0產品全景圖:

    以下內容將主要從客戶端視角,詳細闡述Pike 2.0 客戶端SDK的技術方案設計,從原理上說明Pike 2.0帶來的技術優勢。

    4、v2.0架構設計

    針對上文提及的Pike 1.0代碼結構耦合的技術痛點,Pike 2.0進行了全新的架構升級,在代碼結構、環境配置、服務集群等方面上都與Shark保持產品隔離。

    4.1 設計思想

    經過接近一年的技術積累與沉淀,從Shark提煉的TunnelKit長連內核組件和TNTunnel通用通道組件已經趨于穩定,所以Pike 2.0選擇基于TunnelKit與TNTunnel來構建雙向消息通道服務。

    具體優勢有:

    • 1)Pike 2.0基于TunnelKit長連內核構建,能有效地復用現有長連接控制相關的功能,減少不必要的開發工作;
    • 2)Pike 2.0能夠共享TNTunnel的相關通用特性,如Shark協議封裝、數據加解密等,后期維護成本較小;
    • 3)Pike 2.0協議作為Shark協議的Payload傳輸,可以靈活定制自己特性相關的協議。

    4.2 整體架構

    客戶端架構演進圖:

    整體架構如上圖所示,包括:

    • 1)Pike接口層;
    • 2)Pike通道層;
    • 3)TNTunnel通道層;
    • 4)TunnelKit長連內核層。

    4.2.1)接口層:

    Pike接口層旨在為主流前端技術棧中所有需要應用內消息服務的業務提供簡潔可靠的接口。

    主要是:

    • 1)Pike 2.0提供了 Android、iOS、MRN等公司主流技術棧的接入SDK,業務可以根據自己的需求靈活選擇;
    • 2)Pike 2.0針對不同的消息QPS,設計了兩種不同Client(詳見下方);
    • 3)Pike 2.0針對線上Pike 1.0系統提供了業務無感的遷移方案,業務方無需任何人力投入便可以從之前的Pike 1.0系統遷移至Pike 2.0系統來進行消息的收發。

    針對第 2)點,我們是這樣設計的:

    • 1)對于消息量超過50條每秒的業務,例如直播彈幕推送,我們推薦接入聚合消息Client;
    • 2)對于消息量較小的其他業務,普通消息Client則可以滿足需求。

    4.2.2)通道層:

    Pike通道層是特性的實現層,所有Pike接口層的API調用都會通過線程調度轉變成封裝的Task在Pike通道層完成具體的操作,Pike通道層是單線程模型,最大程度規避掉了線程安全問題。

    Pike特性如下:

    • 1)斷線重連:鑒于長連接的不穩定特征,Pike 2.0通道通過斷線重連機制來使的業務方可以認為在網絡沒有發生故障的情況下是持續可用的;
    • 2)業務鑒權:業務后端可以通過Pike 2.0通道對連接的監控來感知連接變更,同時對接入網絡的客戶端設備進行可用性判別;
    • 3)別名機制:針對不同業務方對業務標識做了隔離,每個業務可以自定義標識ID,解決了Pike 1.0同一個App平臺不同業務必須強制使用相同標識ID的痛點;
    • 4)上/下行消息:Pike 2.0是雙向通道服務,不僅支持Pike 1.0原有的消息推送能力,即服務端向客戶端發送下行消息;同時也支持客戶端主動發送消息,即客戶端向服務端發送上行消息。業務只要通過Pike 2.0系統便可以形成消息的閉環;
    • 5)分組/聚合消息:Pike 2.0支持消息分組和消息聚合來滿足高QPS業務場景的使用。其中消息分組表示業務可以通過自定義標簽來對一組用戶進行消息廣播;消息聚合表示將短時間內井噴式的消息進行聚合下發以提高系統的吞吐量;
    • 6)消息保序:Pike 2.0支持同一客戶端發送的上行消息有序投遞到固定的業務服務器;
    • 7)獨立通道:Pike 2.0默認所有業務是使用一條共享的通道,針對業務量大或者對吞吐量有要求的業務可以自動切換獨享的通道來保證消息的投遞成功率和時延;
    • 8)通道保活:Pike 2.0在連接保活的基礎上增加了通道巡檢,能夠在檢測到異常的情況下自動重啟通道,確保在要求長穩的環境下進一步提升通道可用性。

    4.2.3)TNTunnel通道層:

    TNTunnel通道層是封裝通用通道邏輯的功能層,主要涉及通道狀態管理、協議封裝、數據加解密等通用核心模塊,是將通用通道邏輯從原先Shark通道中提煉而成的獨立分層。

    Pike協議雖然是構建在現有Shark協議之上的應用層協議,但是Pike通道已經和原先的Shark通道在邏輯上完全解耦。

    • 一方面,Pike 2.0會最大限度地復用Shark協議已成熟的技術,但是又不依賴于原有的Shark邏輯;
    • 另一面,后續涉及二進制協議、安全協議等協議方面的升級優化都可以同時服務于Pike 2.0。

    4.2.4)TunnelKit長連內核層:

    TunnelKit長連內核層主要功能是對接Socket來處理TCP或者UDP數據的發送與接收,管理各個連接的可用性等。

    每條Pike 2.0通道在TunnelKit中都是維護一條連接的,通過心跳保活機制和連接管理來保證在網絡環境正常的情況下永遠有一條連接來承載Pike數據。

    TunnelKit作為所有通道層的基礎,是決定上層長連接通道穩定性最重要的一層。

    5、v2.0工作機制

    在進行了全新推送架構升級的基礎上,Pike針對上文提及的Pike 1.0賬號體系混亂、推送連接不穩定的痛點重新設計并完善了工作機制。

    其中,PikeClient作為Pike系統對接業務方的門戶,在整個Pike 2.0系統中起著至關重要的作用,本節將以PikeClient為切入點介紹其工作機制。

    5.1 PikeClient生命周期

    為了更好地維護Pike 2.0內部狀態,PikeClient使用狀態機來負責生命周期管理。

    PikeClient生命周期圖:

    如上圖所示,PikeClient生命周期主要包括如下幾個部分:

    • 1)onStart:該狀態是業務方調用StartClient或者RestartClient之后進入的狀態,此時PikeClient已經正常啟動,之后Pike 2.0內部會發起業務鑒權并根據鑒權結果流轉到其他的狀態,如圖所示如果業務鑒權失敗則進入onStop狀態,如果業務鑒權成功則進入running狀態;
    • 2)onStop:該狀態是業務方調用StopClient或者業務鑒權失敗之后進入的狀態,此時PikeClient已經停止工作,客戶端進入該狀態之后需要Restart才能重新使用;
    • 3)running:該狀態是PikeClient長穩工作的狀態,此時Pike 2.0等待響應服務推送的下行消息或者隨時準備發送上行消息。作為雙向消息通道,Pike 2.0處理上下行消息的能力是完全并行的;
    • 4)onReceive: 該狀態是PikeClient成功接收到下行消息之后進入的狀態,Pike 2.0將接收到的消息投遞給業務方之后重新進入running狀態等待下一次操作;
    • 5)onSendSuccess/onSendFailure:該狀態是PikeClient發送上行消息之后進入的狀態,業務方可以通過監聽該狀態來獲取本次消息發送的結果。

    通過基于狀態機的生命周期管理,既嚴格定義了PikeClient的工作流程,也可以準確監控其內部狀態,提高了PikeClient的可維護性。

    5.2 PikeClient工作模式

    針對Pike 1.0混亂的賬號體系痛點,Pike 2.0設計了全新的工作模式。

    如下圖所示,Pike通過通道代理模塊提供共享通道和獨立通道兩種模式來滿足不通業務場景的需求。

    5.2.1)共享通道模式:

    共享通道模式是Pike 2.0基本的工作模式,新增的業務方在默認情況下都會使用該模式接入Pike 2.0。

    在Pike 2.0中PikeClient與Pike通道服務是多對一的共享關系,每個業務方都會有自己的PikeClient,每個PikeClient都可以自定義消息推送標識ID而避免使用全局標識ID。業務后端可以精簡推送標識邏輯,避免同時維護多套賬號體系。

    不同業務的PikeClient僅在接入層面做了業務隔離,在Pike 2.0通道中會由Pike通道服務完成統一的管理。這種多對一的共享關系使得所有Pike業務共享Pike 2.0通道特性,同時又可以針對每個業務的使用場景設置其特定的消息處理能力,每個接入Pike 2.0的業務方都只需要關注其自己的PikeClient即可。

    5.2.2)獨立通道模式:

    獨立通道模式是共享通道模式的拓展能力,Pike 2.0通過配置控制來決策是否切換至該模式。

    Pike 2.0默認情況下所有業務方都是共享同一個Pike通道服務,然而鑒于業務場景的不同,每個業務對于消息吞吐量,消息時延等SLA指標的訴求也有差異,例如游戲業務對于消息時延過長的容忍性就比較差。針對特殊業務Pike 2.0提供了獨立通道切換的能力支持。

    所有PikeClient都通過Pike通道代理模塊來對接Pike通道服務,Pike通道代理模塊可以通過開關配置來控制PikeClient與特定的Pike通道服務協同工作。通過運用代理模式,既保證了原有結構的完整性,在不需要調整Pike通道代碼邏輯的基礎上就能夠完成獨立通道能力支持;又可以擴展通道切換能力,有效地管理通道切換的流程,讓Pike 2.0通道最大化提供業務能力的同時避免資源浪費。

    5.3 PikeClient保活機制

    PikeClient的保活完全依賴Pike 2.0通道的保活,針對Pike 1.0推送連接不穩定的痛點,Pike 2.0通道在吸收Pike 1.0在保活機制方面沉淀的技術的基礎上繼續優化,最后設計出基于心跳探測、重連機制和通道巡檢的三重保活機制。

    保活機制如下圖:

    5.3.1)心跳探測:

    心跳探測是一種檢查網絡連接狀態的常見手段,Pike長連接是TCP連接,而TCP是虛擬連接:如果實際物理鏈路中出現諸如異常網絡節點等因素導致連接出現異常,客戶端和服務端并不能及時感應到連接異常,這時就會出現連接的狀態處于ESTABLISHED狀態,但連接可能已死的現象,心跳探測就是為了解決這種網絡異常的技術方案。

    PS:關于tcp協議為什么還需要心跳保活,可以詳讀這篇《為何基于TCP協議的移動端IM仍然需要心跳保活機制?》。

    客戶端在心跳巡檢計時器設置的心跳周期到達時判斷是否存在上次心跳超時的異常,如果心跳超時則認為該連接已經不可用了,則會從連接池移除該連接并觸發下文的重連機制。

    為了更快地發現通道異常,Pike 2.0對于心跳周期與心跳超時都是可配置的,針對不同App使用的場景可以靈活地設置。

    而且在每次發送上行數據的時候都會及時檢測上次心跳是否超時,使得心跳探測結果不必等到下次心跳周期到達的時刻才知悉。

    Pike 2.0并不是采用固定心跳頻率來發送心跳包,Pike 2.0會利用通道的上下行數據包來動態減少心跳包的發送次數。

    此外,智能心跳也是Pike 2.0持續關注的話題,感興趣的讀讀下面這些:

  • 《微信團隊原創分享:Android版微信后臺保活實戰分享(進程保活篇)》
  • 《微信團隊原創分享:Android版微信后臺保活實戰分享(網絡保活篇)》
  • 《移動端IM實踐:實現Android版微信的智能心跳機制》
  • 《移動端IM實踐:WhatsApp、Line、微信的心跳策略分析》
  • 《一文讀懂即時通訊應用中的網絡心跳包機制:作用、原理、實現思路等》
  • 《融云技術分享:融云安卓端IM產品的網絡鏈路保活技術實踐》
  • 《正確理解IM長連接的心跳及重連機制,并動手實現(有完整IM源碼)》
  • 《一種Android端IM智能心跳算法的設計與實現探討(含樣例代碼)》
  • 5.3.2)重連機制:

    重連機制是Pike 2.0作為長連接通道最核心的特性,也是Pike 2.0連接穩定性建設最重要的一環。

    客戶端會在發送消息、接收消息和心跳探測三個環節來決策是否需要觸發重連:

    • 1)一方面,如果主動發現連接池中可用連接不足則自動啟動重連機制;
    • 2)另一面,當現有可用連接關閉時也會自動觸發重連機制。

    Pike 2.0在重連的過程中會采用斐波那契數列退避算法來發起建連請求直至建連成功:

    • 1)一方面,Pike 2.0保證只要在網絡可用的情況下總能夠維持可用的長連接來服務于業務消息;
    • 2)另方面,Pike 2.0在網絡持續不可用的情況下避免連續建連使得系統滿載。

    有關斷線重連這方面的文章,可以系統的讀一讀下面這些:

  • 《Web端即時通訊實踐干貨:如何讓你的WebSocket斷網重連更快速?》
  • 《正確理解IM長連接的心跳及重連機制,并動手實現(有完整IM源碼)》
  • 《手把手教你用Netty實現網絡通信程序的心跳機制、斷線重連機制》
  • PS:如果需要實踐性的代碼,也可讀一下開源工程MobileIMSDK?,它對于im的心跳和重連機制有完整的邏輯實現,可以借鑒參考。

    5.3.3)通道巡檢:

    通道巡檢是在心跳探測和重連機制的基礎上進一步提升Pike 2.0穩定性的有效機制。

    客戶端會根據心跳周期設置一個全局的巡檢定時器,在每次定時器設置的時刻到達時,客戶端會觸發通道異常檢測邏輯,一旦發現異常都會嘗試重啟通道。

    Pike 2.0首先會在觸發通道異常檢測的時候獲取當前通道狀態,如果通道當前沒有主動關閉但是通道處于不可用的狀態,Pike 2.0會強制執行一次自啟動。

    此外,在通道巡檢的過程中,巡檢管理器會不斷收集消息收發過程中出現的超時異常,當超時異常次數連續累計超過配置的最大閾值時,Pike 2.0會認為當前通道可用性較低,需要強制關閉并執行一次自啟動。

    6、v2.0新增的技術特性

    Pike 2.0作為Pike 1.0的升級版,不只是為了解決Pike 1.0的技術痛點,通過新增特性以開拓新的應用場景也是Pike 2.0關注的點。

    6.1 聚合消息

    隨著公司內直播業務的興起,公司內部也有很多業務方使用Pike 1.0作為彈幕、評論、直播間控制信令等下行實時消息的傳輸通道。

    但Pike 1.0基于早先的設計架構為彈幕、評論這種短時間需要處理海量消息的場景提供可靠服務的能力漸漸力不從心。

    主要表現在QPS大幅增長時,消息投遞成功率降低、延時增加和系統性能開銷增長等方面。Pike通過引入聚合消息為直播場景中消息的投遞提出更加通用的解決方案。

    6.1.1)設計思想:

    直播場景中涉及的消息主要具備以下特點:

    • 1)彈幕作為一種實時互動的載體,短時間內需處理大量的圖片、文本等信息,如果不做聚合會浪費大量的帶寬;
    • 2)直播間相比普通推送場景,由于用戶已經進入直播間,用戶行為也相對統一可控,所以更需要一種群組消息來統一處理;
    • 3)直播間對于不同類型的消息處理邏輯可以區分優先級,比如抽獎、控制信令是要求可靠性不能丟棄,而對于彈幕則可根據直播間熱度、服務承受能力適當丟棄。

    聚合消息在設計上主要采用下述思想:

    • 1)從時間維度對消息進行聚合,減少不必要的帶寬消耗;
    • 2)采用消息分級策略,根據消息的類型設定不同的優先級,保證重要消息的可靠性;
    • 3)抽象出類似直播間的聚合單元,統一管理加入聚合單元的用戶行為;
    • 4)采用客戶端主動拉取的策略;
    • 5)提供上行消息能力,提供更完整的消息流通路徑。

    針對第 4)點:相比傳統的服務端推送策略,主動拉取是利用客戶端天然分布式的特點將用戶狀態保存在客戶端,服務端通過減少狀態維護進而可以留出更多的資源用于業務處理。

    6.1.2)方案流程:

    Pike 2.0針對每個聚合單元都使用環形隊列來維護消息列表,發送到該聚合單元的消息在經過優先級過濾之后都會插入隊列tail指針標示的位置,隨著該聚合單元內消息不斷增加最后達到最大隊列長度時,head指針會不斷移動來給tail指針騰出位置。聚合單元通過控制最大長度的環形隊列來避免消息短時間井噴式增長帶來的服務性能問題。

    客戶端在主動拉取的時候都會攜帶上一次獲取到的消息處在環形隊列中的偏移量,這樣服務就會將偏移量標示的位置到tail指針標示的位置之間的消息進行聚合作為本次拉取的結果一次性返回給客戶端。不同客戶端各自維護自己的偏移量,以此來避免服務端對于客戶端的狀態維護。

    客戶端與服務端的具體交互如下圖所示:客戶端在加入聚合單元之后主動拉取,如果本次拉取攜帶的偏移量能夠從服務的環形隊列中獲取到聚合消息,那么就將消息回調給業務之后馬上進行下一次拉取操作。如果本次攜帶的偏移量已經位于環形隊列tail指針的位置,那么服務端將不做任何響應,客戶端等待本次拉取超時之后開始下一次拉取操作,重復該流程直至客戶端離開該聚合單元。與此同時,業務服務端如果有消息需要推送,則通過RPC的方式發送給Pike服務端,消息處理模塊將執行消息分級策略過濾之后的有效消息插入環形隊列。

    聚合消息交互流程圖:

    6.2 消息保序

    Pike 1.0在設計之初就只適用于消息推送的場景,而Pike 2.0在其基礎上演進為雙向消息投遞服務,即不僅支持下行的消息推送,還支持上行的消息投遞。Pike 2.0在上行的消息投遞方面進一步拓展了消息保序的功能。

    這里的消息保序主要包含兩個層面的含義:

    • 1)首先每一個業務客戶端發送的消息都最大程度地到達同一個業務服務器;
    • 2)其次這些消息是按照客戶端發送的時序一致地到達該業務服務器。

    6.2.1)粘性會話:

    為了使每一個業務客戶端發送的消息都最大程度地到達同一個業務服務器,Pike 2.0引入了粘性會話的概念。

    粘性會話指的是:同一客戶端連接上的消息固定轉發至某一特定的業務方機器處理,客戶端斷連重連后,保持新連接上的消息仍轉發至該業務機器。

    粘性會話可以歸納為如下的流程:

    • 1)首次業務登錄的時候Pike 2.0服務器會利用負載均衡算法選擇一臺業務服務器,并將該業務服務器的路由標識通過業務登錄結果通知客戶端并保存,之后如果通道狀態穩定的話所有的上行消息就都會投遞到該業務服務器;
    • 2)如果期間通道狀態波動出現斷連的情況,Pike 2.0在發起重連之后會重新進行業務登錄,這一次業務登錄會將之前保存的路由標識重新上報給Pike 2.0服務器,這樣Pike 2.0服務器就會通過路由標識重新綁定該業務服務器;
    • 3)如果路由標識指示的業務服務器已經停止提供服務,那么Pike 2.0服務器會重新通過負載均衡算法選擇新的一臺業務服務器,同時客戶端會獲取到新的路由標識,之后的邏輯重復該過程直至Pike 2.0客戶端退出。

    6.2.2)時序一致性:

    我們都知道TCP是有序的,那么在同一個TCP連接的前提下什么情況會出現客戶端發送的消息亂序到達業務服務器呢?

    原因就是:Pike 2.0服務器從TCP中讀出消息之后將其投遞給業務服務器是通過RPC異步調用的。

    為了解決這種問題:最簡單的方案當然是客戶端將消息隊列的發送窗口限定為1,每一條發送消息都在Pike 2.0服務器投遞給業務服務器之后才能收到ACK,這時再發送下一條消息。但是考慮到網絡傳輸在鏈路上的時延遠遠大于端上處理的時延,所以該方案的QPS被網絡傳輸設了瓶頸,假設一個RTT是200ms,那么該方案理論也只能達到5的QPS。

    Pike 2.0為了提高上行消息保序投遞的QPS,采用服務端設置消息隊列緩存的方案。

    如下圖所示:客戶端可以在發送窗口允許的范圍內一次性將多條消息發送出去,服務端把收到的消息都按順序緩存在消息隊列中,然后串行的通過RPC調用將這些緩存的消息依序投遞給業務服務器。

    這種保序方案將QPS性能的瓶頸點從之前網絡傳輸在鏈路上的時延轉移到了RPC調用的時延上,而實際場景中一次RPC調用往往在幾個毫秒之間,遠遠小于網絡傳輸在鏈路上的時延,繼而顯著地提升了QPS。

    消息時序一致性問題,在實時通信領域是個很熱門的技術點:

  • 《零基礎IM開發入門(四):什么是IM系統的消息時序一致性?》
  • 《如何保證IM實時消息的“時序性”與“一致性”?》
  • 《一個低成本確保IM消息時序的方法探討》
  • 《一套億級用戶的IM架構技術干貨(下篇):可靠性、有序性、弱網優化等》
  • 7、v2.0的穩定性保障

    7.1 監控體系

    Pike 2.0依賴美團監控平臺Raptor完成監控體系建設,服務端和客戶端都建設了各自完善的指標監控。

    Pike 2.0客戶端通過利用Raptor的端到端指標能力和自定義指標能力輸出了超過10+個監控指標來實時監控Pike系統,這些指標覆蓋通道建立、消息投遞、業務登錄、系統異常等多維度。

    在實時指標監控的基礎上Pike 2.0針對不同指標配置了報警閾值,以推送消息為例,如果特定App的大盤數據在每分鐘的上下波動幅度超過10%,那么Raptor系統就會向Pike項目組成員推送告警信息。

    基于所有Raptor監控指標,Pike 2.0提煉核心SLA指標如下:

    Pike 2.0會定期輸出基于核心SLA指標的大盤數據報表,同時可以基于App、業務類型、網絡類型等多維度對數據進行篩選以滿足不同用戶對于指標數據的需求。

    7.2 個案用戶追蹤

    監控體系能從全局的角度反映推送系統穩定性,針對個案用戶,Pike管理平臺提供完整的鏈路追蹤信息。

    每個Pike 2.0連接都由唯一標識Token來區分,通過該唯一標識Token在Pike管理平臺的“連接嗅探”模塊主動探測便能獲得對應連接上所有信令的交互流程。

    如下圖所示:流程中明確標注了客戶端建立連接、發起鑒權、綁定別名等信令,點擊對應信令可以跳轉信令詳情進一步查看該信令所攜帶的信息,再結合SDK埋點在美團日志服務Logan的離線日志就可以快速發現并定位問題。

    8、建設成果

    截至2021年6月,Pike共接入業務200+個,日均消息總量約50億+,Pike 2.0消息到達率?>99.5%(相比Pike 1.0提升0.4%),Pike 2.0平均端到端延時<220ms(相比Pike 1.0減少約37%)。

    部分應用案例:

    • 1)直播場景消息服務方案:支持直播業務的直播互動功能,具備了支持同時在線百萬級別大型直播的能力;
    • 2)消息推送、Feed流預加載等實時觸達方案:支持營銷類、控制類等業務消息實時推送,業務消息到達率最高提升10%,長連通道建聯耗時減少5%;
    • 3)IoT設備接入方案:支持取餐柜業務IoT接入能力,幫助業務消息到達率從98.4%提升到99.6%;
    • 4)小游戲場景消息投遞方案:支持美團小游戲場景通信能力,消息到達率達到99.8%以上,上行延時低至195ms。

    9、未來展望

    Pike實時消息推送服務在美團應用廣泛,目前主要集中在實時觸達、互動直播、移動同步等業務場景。隨著公司業務的快速發展,Pike對可用性、易用性、可擴展性提出了更高要求,希望提升各種業務場景下的網絡體驗。

    因此未來Pike的規劃重點主要是:提供多端、多場景下的網絡通信方案,不斷完善協議生態,在各種應用場景下對抗復雜網絡。

    具體就是:

    • 1)拓展通用基礎能力:提升通道性能。通過優化保序方案,提供專用通道,優化傳輸協議等方式,進一步提升吞吐量和穩定性,降低推送時延;
    • 2)建設物聯網的接入:提供IoT接入層方案。為公司內物聯網應用場景(單車、充電寶、取餐柜、智能頭盔、倉庫、門店設備等)提供統一的IoT接入層解決方案,支持多種接入協議(HTTP、MQTT、CoAP等),為業務提供安全可靠的設備連接通信能力;
    • 3)優化弱網通信體驗:在移動端和IoT端基于美團自研MQUIC網絡協議庫,探索Pike over QUIC,在桌面端探索WebTransport技術,通過全面支持QUIC協議,提升弱網大包場景下的網絡性能,降低長尾分布的請求耗時。

    附錄:更多實時消息推送技術文章

  • 《iOS的推送服務APNs詳解:設計思路、技術原理及缺陷等》
  • 《信鴿團隊原創:一起走過 iOS10 上消息推送(APNS)的坑》
  • 《Android端消息推送總結:實現原理、心跳保活、遇到的問題等》
  • 《掃盲貼:認識MQTT通信協議》
  • 《一個基于MQTT通信協議的完整Android推送Demo》
  • 《IBM技術經理訪談:MQTT協議的制定歷程、發展現狀等》
  • 《求教android消息推送:GCM、XMPP、MQTT三種方案的優劣》
  • 《移動端實時消息推送技術淺析》
  • 《掃盲貼:淺談iOS和Android后臺實時消息推送的原理和區別》
  • 《絕對干貨:基于Netty實現海量接入的推送服務技術要點》
  • 《移動端IM實踐:谷歌消息推送服務(GCM)研究(來自微信)》
  • 《為何微信、QQ這樣的IM工具不使用GCM服務推送消息?》
  • 《極光推送系統大規模高并發架構的技術實踐分享》
  • 《從HTTP到MQTT:一個基于位置服務的APP數據通信實踐概述》
  • 《魅族2500萬長連接的實時消息推送架構的技術實踐分享》
  • 《專訪魅族架構師:海量長連接的實時消息推送系統的心得體會》
  • 《深入的聊聊Android消息推送這件小事》
  • 《基于WebSocket實現Hybrid移動應用的消息推送實踐(含代碼示例)》
  • 《一個基于長連接的安全可擴展的訂閱/推送服務實現思路》
  • 《實踐分享:如何構建一套高可用的移動端消息推送系統?》
  • 《Go語言構建千萬級在線的高并發消息推送系統實踐(來自360公司)》
  • 《騰訊信鴿技術分享:百億級實時消息推送的實戰經驗》
  • 《百萬在線的美拍直播彈幕系統的實時推送技術實踐之路》
  • 《京東京麥商家開放平臺的消息推送架構演進之路》
  • 《了解iOS消息推送一文就夠:史上最全iOS Push技術詳解》
  • 《基于APNs最新HTTP/2接口實現iOS的高性能消息推送(服務端篇)》
  • 《解密“達達-京東到家”的訂單即時派發技術原理和實踐》
  • 《技術干貨:從零開始,教你設計一個百萬級的消息推送系統》
  • 《長連接網關技術專題(四):愛奇藝WebSocket實時推送網關技術實踐》
  • 《喜馬拉雅億級用戶量的離線消息推送系統架構設計實踐》
  • 《直播系統聊天技術(三):微信直播聊天室單房間1500萬在線的消息架構演進之路》
  • 《直播系統聊天技術(四):百度直播的海量用戶實時消息系統架構演進實踐》
  • 《消息推送技術干貨:美團實時消息推送服務的技術演進之路》
  • >>?更多同類文章 ……
  • 本文已同步發布于“即時通訊技術圈”公眾號。

    ▲ 本文在公眾號上的鏈接是:點此進入。同步發布鏈接是:http://www.52im.net/thread-3662-1-1.html

    總結

    以上是生活随笔為你收集整理的消息推送技术干货:美团实时消息推送服务的技术演进之路的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    www日韩| 天天插天天操天天干 | 五月综合色 | 国产成人不卡 | 久久综合九色 | 国产精品欧美一区二区三区不卡 | 黄色国产高清 | 国产一级黄色电影 | 国产精品免费不卡 | 久久激情五月丁香伊人 | 日本在线视频一区二区三区 | 成人在线免费av | 日本久久久久久 | 2019中文最近的2019中文在线 | 人人爽人人澡人人添人人人人 | 久久久久久久久影视 | 久久神马影院 | 字幕网在线观看 | 人人射人人插 | ,久久福利影视 | 国产精品专区在线观看 | 亚洲国产视频直播 | 免费毛片一区二区三区久久久 | 亚洲一区二区三区在线看 | 久久国产精品一区二区三区四区 | 亚洲天天综合 | 丁香五月网久久综合 | 97超碰人人澡人人 | 色视频国产直接看 | 热热热热热色 | 国产高清在线观看 | 美女网站在线观看 | 黄色一级影院 | 日韩在线视 | 青青草华人在线视频 | 高潮久久久久久久久 | 国产精品99在线观看 | 国产免费一区二区三区网站免费 | 中文字幕 国产视频 | 午夜视频一区二区三区 | 丰满少妇在线观看网站 | 久久一久久| 久久九九影视网 | 不卡电影一区二区三区 | 精品久久久网 | 午夜 免费 | 91视频下载| 日韩av高清在线观看 | 天天天综合网 | www.久久久久 | 99久久日韩精品免费热麻豆美女 | 天天爽天天搞 | 亚洲一级免费观看 | 国内久久看| 夜夜躁狠狠躁日日躁视频黑人 | 不卡视频一区二区三区 | 日韩av成人在线观看 | 999在线观看视频 | 六月丁香伊人 | 国产精品一区二区久久精品 | 射射射av | 婷婷网五月天 | 九九热在线免费观看 | 国产精品亚洲成人 | 夜色资源网 | 精品一区在线 | 国产伦理一区二区三区 | 91片黄在线观看 | av大全在线观看 | 91麻豆精品 | 美女在线免费视频 | 久久久国产在线视频 | 国产网红在线观看 | 国产护士hd高朝护士1 | 啪啪肉肉污av国网站 | 国产日韩在线观看一区 | 九九九热精品免费视频观看网站 | 五月婷婷在线视频观看 | 亚洲精品乱码久久久久久蜜桃欧美 | 亚洲免费在线看 | 国产夫妻av在线 | 天天人人 | 九九视频精品免费 | 91精品在线麻豆 | 国产成人福利在线观看 | 欧美黄色特级片 | 日本在线视频一区二区三区 | 99在线视频观看 | 久久蜜臀一区二区三区av | 亚洲精品乱码久久久久久蜜桃91 | 九九爱免费视频在线观看 | 一 级 黄 色 片免费看的 | 国产精品久久久久久久久久久久冷 | 97色免费视频 | 中文字幕乱码电影 | 99综合电影在线视频 | 在线成人中文字幕 | 亚洲精品久久久蜜臀下载官网 | 91在线视频网址 | 一区二区三区四区精品视频 | 黄色一级在线观看 | 天天干天天搞天天射 | 日本黄色免费在线观看 | 亚洲综合在线播放 | 四虎在线免费视频 | 区一区二区三在线观看 | 亚洲成人国产 | 88av色 | 四虎成人精品永久免费av九九 | 亚洲精品在线观看不卡 | 亚洲精选在线观看 | 狠狠天天 | www.com久久久| 五月色丁香| 久久国产精品视频 | 成人免费视频在线观看 | 亚洲精品国产精品国 | 在线观看日本高清mv视频 | 精品国产乱码一区二区三区在线 | 色综合天天色综合 | 日韩在线不卡av | 国产精品久久在线 | 国产女人18毛片水真多18精品 | 日韩精品中文字幕一区二区 | 午夜精品福利一区二区三区蜜桃 | www久久久久 | 粉嫩aⅴ一区二区三区 | 国产精品九九热 | 毛片久久久 | 国产欧美精品一区二区三区四区 | 亚洲国产精品成人av | www.黄色片网站 | 精品一区av| 一级黄色大片在线观看 | 国产成人黄色片 | 国产成人精品一区二区三区福利 | 精品国产一二三四区 | 成人动漫精品一区二区 | 国产成人61精品免费看片 | 日日爽 | 亚洲国产三级在线 | 91中文在线 | 96在线| 亚洲电影久久 | 911久久香蕉国产线看观看 | 国产一区国产精品 | 色老板在线视频 | 国产成人一级 | 在线观看完整版免费 | 国产传媒一区在线 | 808电影免费观看三年 | 国产精品免费观看在线 | 91麻豆产精品久久久久久 | 国产精品夜夜夜一区二区三区尤 | 亚洲精品系列 | 在线观看精品一区 | av超碰免费在线 | 天天操福利视频 | 99久久久久免费精品国产 | 日本久久91 | 亚洲精品午夜国产va久久成人 | 成人a在线观看高清电影 | 国产精品专区在线观看 | 最近中文字幕mv免费高清在线 | 天天操天天射天天爱 | 欧美激情另类文学 | 亚洲天堂网在线观看视频 | 国产拍揄自揄精品视频麻豆 | 国产视频在线观看一区 | 一级久久精品 | 81精品国产乱码久久久久久 | 8x8x在线观看视频 | 91麻豆精品久久久久久 | 天天草天天插 | 成人av在线一区二区 | 懂色av懂色av粉嫩av分享吧 | 亚洲精品乱码久久久久久 | 亚洲欧美视频网站 | 国产一区二区三区久久久 | 激情电影影院 | 欧美另类sm图片 | 岛国av在线 | 日韩精品黄 | 国产精品第52页 | 色射爱| 欧美一级裸体视频 | 中文字幕 在线看 | 丁香九月激情 | 五月婷综合 | 免费观看xxxx9999片 | 欧美性天天 | 91精品免费在线视频 | 毛片a级片 | wwxxxx日本 | 免费中文字幕在线观看 | 久久99国产综合精品 | 五月天综合色 | 国产成人福利片 | 手机看片午夜 | 国产亚洲视频在线免费观看 | 爱射综合 | 国产1区在线 | 麻花天美星空视频 | 天天玩天天操天天射 | 免费看国产曰批40分钟 | 综合久久一本 | av福利在线免费观看 | 丁香六月激情婷婷 | 免费观看黄色av | 国产精品一二 | 美女视频黄是免费的 | 亚州av一区 | 色婷婷狠狠五月综合天色拍 | 日韩久久精品一区 | 国产原创中文在线 | 波多野结衣综合网 | 97超碰在线播放 | 国产粉嫩在线 | 精品久久久久久久久中文字幕 | 丁香九月激情综合 | 久久成人人人人精品欧 | 成人午夜电影久久影院 | 日日天天 | 在线一区观看 | 欧美一级免费 | 国产黄色一级片 | www91在线观看| 国产99区 | 中文字幕色婷婷在线视频 | 97色婷婷 | 综合天堂av久久久久久久 | 亚洲高清视频一区二区三区 | 91av手机在线观看 | 91麻豆精品国产 | 成人av电影在线 | 亚洲桃花综合 | 国产精品欧美日韩在线观看 | 96国产在线 | 日韩欧美精品一区二区三区经典 | 四虎影视成人 | 在线观看国产亚洲 | 亚洲精品乱码久久久久久 | 中文字幕一区二区三区视频 | 久久艹中文字幕 | 成人欧美一区二区三区黑人麻豆 | 最新久久免费视频 | 久久久在线 | 97视频在线观看网址 | 欧美激情综合五月色丁香 | 日韩av一区二区三区在线观看 | 成人国产精品免费 | 国产69久久久欧美一级 | 久久久一本精品99久久精品 | 欧美亚洲另类在线视频 | 天天艹天天爽 | 18久久久久久 | 国产精品久久久久久一二三四五 | 国产美女视频网站 | 欧美一区二区日韩一区二区 | 亚洲天天做 | 久久视频二区 | 亚洲乱码国产乱码精品天美传媒 | 国产精品一区二区精品视频免费看 | 日韩在线二区 | 五月天丁香亚洲 | 美女网站视频免费黄 | 夜夜操狠狠干 | 国产高清免费在线观看 | 国产一级在线播放 | 国产一级精品在线观看 | 国产成人av一区二区三区在线观看 | 在线观看亚洲a | 久久高清| av在线影片 | 91麻豆产精品久久久久久 | 色就干| 亚洲女欲精品久久久久久久18 | 色噜噜狠狠色综合中国 | 五月天婷婷在线观看视频 | 99精品视频免费看 | 偷拍福利视频一区二区三区 | 国产精品国产毛片 | 久久中文字幕视频 | www黄色com | 波多野结衣视频一区二区 | 久保带人 | 玖玖在线精品 | 99国内精品 | 精品久久1 | 九九免费精品 | 天天色视频 | 欧美做受高潮1 | 久操伊人 | 国产精品日韩在线播放 | 99电影456麻豆 | 国产精品18久久久久久久网站 | 国产亚洲精品电影 | 91九色蝌蚪国产 | 久草精品在线播放 | 成人免费共享视频 | 香蕉久草| 婷婷夜夜| 国产免费久久久久 | 国产一区二区三区四区在线 | av青草 | 黄色免费观看 | 色av男人的天堂免费在线 | 一级免费看 | 最近日本中文字幕a | 免费看成年人 | av解说在线观看 | 欧美久草网 | 欧美午夜激情网 | 日韩精品视频免费 | 一级黄色片毛片 | 国产精品第一页在线观看 | www国产亚洲精品久久麻豆 | 久久国产精品一区二区三区四区 | 国产96精品 | 91在线视频 | 激情综合五月天 | 成人免费视频在线观看 | 人人干狠狠干 | 91在线入口 | 欧美a√在线 | 中文字幕一区二区三区久久 | www.日本色 | 337p日本欧洲亚洲大胆裸体艺术 | 国产精品 国产精品 | 成人一级视频在线观看 | 日韩在线电影观看 | 天天爱综合 | 97超碰资源站 | 啪一啪在线 | 亚洲另类交 | 涩涩网站在线观看 | 久草综合视频 | 成人av影视观看 | 国产一区二区在线播放视频 | 日韩欧美视频一区 | 亚洲精品免费在线观看视频 | 婷婷精品在线视频 | 91视频观看免费 | 色多多视频在线观看 | 欧洲精品码一区二区三区免费看 | 亚洲成人av在线电影 | www.天天射.com| 黄色一级影院 | 黄色小说网站在线 | 伊甸园永久入口www 99热 精品在线 | 黄色毛片在线观看 | 久久麻豆精品 | 国产精品综合在线观看 | 综合久久网 | 亚洲精品国产第一综合99久久 | 亚洲欧洲日韩在线观看 | 日韩欧美高清一区二区三区 | av电影在线免费观看 | 欧美视频不卡 | 99精品一级欧美片免费播放 | 久久精品9| 国产 日韩 欧美 自拍 | 奇米影视777四色米奇影院 | 久久久久久国产精品久久 | 欧美日韩精 | www.五月天激情 | 久久综合亚洲鲁鲁五月久久 | 国精产品999国精产 久久久久 | 久久精品国产一区二区电影 | 中文字幕在线观看完整 | 91系列在线观看 | 在线观看日本韩国电影 | 国内外成人在线 | 国产在线看一区 | 91一区一区三区 | 91精品国产九九九久久久亚洲 | 国产高清视频网 | 国产区精品在线 | 97精品国产91久久久久久 | 91天堂影院 | 国产精品久久久久久久久久直播 | 在线中文字幕观看 | 九九热视频在线免费观看 | 青青河边草观看完整版高清 | 亚洲美女在线国产 | 一区二区三区四区五区在线视频 | 黄色a视频| 国产美女视频 | 国产在线观看网站 | 九九热.com| 91免费网站在线观看 | 2020天天干夜夜爽 | 麻豆影视网| 国产精品二区三区 | 亚洲a成人v| 最新国产视频 | 久久久精品国产一区二区 | 伊人伊成久久人综合网小说 | 精品免费国产一区二区三区四区 | 亚洲精品乱码久久久久v最新版 | 91精品在线观看入口 | av电影在线观看完整版一区二区 | 人人搞人人干 | 久久久久免费精品视频 | 免费观看黄色12片一级视频 | 中文字幕国产亚洲 | 欧美日韩高清一区二区 国产亚洲免费看 | 日日操日日插 | 国产一区二区三精品久久久无广告 | 亚洲国产中文字幕在线观看 | 国产日本在线 | 中文字幕电影在线 | 欧美 国产 视频 | 日韩女同一区二区三区在线观看 | 国产不卡一区二区视频 | 日韩av片无码一区二区不卡电影 | 天天爽夜夜爽精品视频婷婷 | 91在线免费公开视频 | 成人av中文字幕在线观看 | 狠狠干综合网 | 丁香六月五月婷婷 | 97电影在线 | 麻豆视频免费在线 | 丁香 久久 综合 | 国产1级视频 | 国产精品免费观看国产网曝瓜 | 综合精品久久 | 国产色视频123区 | 麻豆视频在线免费观看 | 韩国三级在线一区 | 九色精品免费永久在线 | 99久久国产免费,99久久国产免费大片 | 久久国产精品久久久 | 天天爽人人爽 | 亚洲一区二区三区在线看 | 国内三级在线 | 国产精品久久久久久吹潮天美传媒 | 免费国产黄线在线观看视频 | 狠色狠色综合久久 | 国产美女在线精品免费观看 | 久久久久久毛片精品免费不卡 | 2019中文 | 亚洲闷骚少妇在线观看网站 | 91三级在线观看 | 亚洲国产日韩欧美 | 人人添人人澡 | 免费av网站在线 | 六月丁香社区 | 一色屋精品视频在线观看 | 最近日韩免费视频 | 日韩免费在线观看网站 | 亚洲综合视频在线 | 日韩精品首页 | 国产成人精品一二三区 | av免费网页| 亚洲成a人片77777kkkk1在线观看 | 久久久久精 | 狠狠干成人综合网 | 日韩伦理片一区二区三区 | 欧美久久久久久久久久 | www.亚洲视频 | 国产精品福利在线播放 | 国产精品中文字幕av | 亚州av网站 | 国产91精品欧美 | 人人超在线公开视频 | 欧美色伊人 | 在线视频免费观看 | 91精品国产福利在线观看 | 嫩草伊人久久精品少妇av | 视频1区2区 | 成人动漫精品一区二区 | 亚洲成人黄色 | 激情开心站| 久久99国产精品久久99 | 五月婷婷丁香 | 久久精品理论 | 天天射,天天干 | 欧美午夜寂寞影院 | 亚洲综合婷婷 | 亚洲精品xxxx | 日本久久久精品视频 | 久久99国产精品 | 人人爽人人爽人人爽学生一级 | 亚洲精品免费视频 | 国产精品美女久久久久aⅴ 干干夜夜 | 亚洲成av人片在线观看 | 91福利专区 | 91成人精品在线 | 久久精品99精品国产香蕉 | 国产美女精彩久久 | 99久久久国产精品免费99 | 久久久久久免费毛片精品 | 国产精品999久久久 久产久精国产品 | 欧美一级淫片videoshd | 91在线一区| 成人小视频在线 | 一级免费片 | 国产小视频福利在线 | 天堂av观看| 玖玖玖在线观看 | 天天天天射 | 日韩精品在线视频免费观看 | 99精品在这里 | 久久久伊人网 | av怡红院 | 九色自拍视频 | 婷婷香蕉 | 丁香视频五月 | 啪啪肉肉污av国网站 | 午夜精品久久久久99热app | 中文字幕 婷婷 | 国产精品大片在线观看 | 免费高清在线观看成人 | 欧美成人区 | 精品人人人人 | 丁香五月亚洲综合在线 | 精品视频在线看 | 日本久久91 | 亚洲国内精品视频 | 亚洲国产丝袜在线观看 | 日本资源中文字幕在线 | 97超碰免费在线观看 | 亚洲成av人片在线观看香蕉 | 亚洲精品玖玖玖av在线看 | 国产精品久久久久久久久软件 | 人人玩人人添人人 | 亚洲一区天堂 | 国产不卡在线观看视频 | 国产高清精品在线 | 91成人网在线观看 | 欧美韩国日本在线观看 | 91精品专区 | 欧美精品乱码久久久久 | 91精品国产一区二区三区 | 精品国模一区二区三区 | 888av| 国产一区二区高清不卡 | 天天性天天草 | 久久一区国产 | 天天爽天天碰狠狠添 | 亚洲人在线视频 | 黄色av免费在线 | 99综合电影在线视频 | 久久久国产精品久久久 | 免费视频久久 | 999色视频 | 久久不卡国产精品一区二区 | 欧美日韩三级在线观看 | 最近最新mv字幕免费观看 | 久热精品国产 | 国产视频一二三 | 国产精品高清一区二区三区 | 免费v片 | 在线看成人av | 日韩精品一区电影 | 成人av在线播放网站 | 天天艹天天 | 欧美日韩一区二区在线 | 成人网在线免费视频 | 成人动图 | 久9在线| 亚洲黄色在线观看 | 黄色中文字幕在线 | 日韩午夜剧场 | 奇米影视999 | 人人爱人人做人人爽 | 国产高清在线 | 天天操夜夜曰 | 一区二区av | 国产欧美日韩一区 | 九九热1| 麻豆视频免费播放 | 99综合影院在线 | 日日夜夜骑 | 天天色天天上天天操 | 亚洲国产精品一区二区久久hs | 成人在线播放av | 久久久久免费精品国产 | 国产成人黄色片 | 最新av网站在线观看 | 欧美日韩啪啪 | 超碰人人乐 | 午夜精品99久久免费 | 狠狠干天天色 | 色综合天天狠狠 | 国产伦理一区 | 激情小说网站亚洲综合网 | 91在线看视频免费 | 极品国产91在线网站 | 亚洲一区二区三区四区精品 | 免费看黄的视频 | 国内丰满少妇猛烈精品播 | 久久久精品免费观看 | 国产成人在线一区 | 99r在线 | 国产精品毛片久久蜜 | 天天骚夜夜操 | 一本一本久久a久久精品牛牛影视 | 中文字幕久久精品一区 | 国产91精品欧美 | 在线免费看黄色 | 亚洲国产欧美在线人成大黄瓜 | 色天天久久 | 天天干视频在线 | 亚洲精品在线一区二区 | 久久久精品网站 | 91日韩在线专区 | 人人爽人人射 | 亚洲综合小说 | 国产明星视频三级a三级点| 2019中文在线观看 | 国产日韩视频在线播放 | 香蕉视频免费看 | 午夜精品一区二区三区免费 | 日韩二三区 | 亚洲视频 在线观看 | 久久久久国产视频 | 九九九九九九精品 | 国产成人在线免费观看 | 色婷婷国产 | 午夜三级毛片 | 日韩av电影国产 | 免费高清在线视频一区· | 国产精品高清在线观看 | 久久免费视频99 | 日本中出在线观看 | 免费成视频 | 亚洲天天草| 国产一区二区三区久久久 | 黄色av一区 | 在线电影日韩 | 国产精品国产三级国产aⅴ9色 | 天天翘av | 国产在线观看a | 欧美少妇xxx | 成人黄色电影视频 | 亚洲观看黄色网 | 亚洲精品国精品久久99热 | 国产又粗又猛又黄视频 | 久久黄色免费 | 成人黄色视 | 国产精品毛片一区视频 | 免费观看一级一片 | 免费成人短视频 | 天天久久夜夜 | 国产一区二区在线视频观看 | 黄网站色成年免费观看 | 99精品视频在线免费观看 | 成人av网站在线观看 | 国内成人av| 伊人首页 | 国产亚洲综合在线 | 国内久久久久久 | 久久99亚洲网美利坚合众国 | av网址在线播放 | 久久天| 韩国一区在线 | 99re中文字幕 | 美女免费网站 | 婷婷在线色 | 色在线中文字幕 | 日日碰狠狠添天天爽超碰97久久 | 日本三级国产 | 一区中文字幕 | 涩涩爱夜夜爱 | 国产成人精品国内自产拍免费看 | 精品国产伦一区二区三区观看方式 | 丁香五月亚洲综合在线 | 四虎在线免费观看 | 天天射天 | 麻豆一区在线观看 | 在线看黄网站 | 日韩高清精品一区二区 | 精品国产伦一区二区三区观看体验 | 久久久精品欧美 | 99久久精品网| 免费在线视频一区二区 | 国内精品久久久久久久久久清纯 | 午夜91视频 | 日韩av在线一区二区 | 婷婷去俺也去六月色 | 国产 视频 久久 | 在线看片一区 | 国产精品欧美在线 | 日韩av影视 | 日韩中文字幕国产 | 中文字幕视频一区二区 | 日韩欧美一区二区三区黑寡妇 | 又湿又紧又大又爽a视频国产 | 最新日韩在线观看 | 精品国产一区二区久久 | 久久精品网站视频 | 久久国产片| 国产一线二线三线性视频 | 99一级片| 香蕉在线观看视频 | 91综合视频在线观看 | 久久久精品在线观看 | 五月天久久久久久 | 亚州精品一二三区 | 亚洲精品午夜久久久久久久 | 亚洲综合网站在线观看 | 人人精久 | 免费高清在线一区 | 最新中文字幕在线资源 | 欧美精彩视频在线观看 | 黄色小网站在线观看 | 国产精品久久久99 | 一级黄色大片在线观看 | 夜夜躁天天躁很躁波 | 日本在线精品视频 | 免费看的国产视频网站 | 国产a国产a国产a | 视频在线精品 | 久久免费视频精品 | 日韩精品一区二区在线观看视频 | 天天艹日日干 | 日本中文字幕免费观看 | 美女久久久久久久久久久 | 黄色av一区二区三区 | 国产精品毛片久久蜜 | 激情黄色av | 在线观看一 | aaa黄色毛片 | 亚洲免费av片 | 亚洲一级电影在线观看 | 超碰在线97免费 | 日韩av在线网站 | 亚洲午夜激情网 | 91福利视频网站 | 国产精品永久在线 | 免费观看www7722午夜电影 | 国产精品久久久久aaaa | 五月天狠狠操 | 丝袜一区在线 | 在线观看中文字幕2021 | 日韩av美女| www狠狠操| 亚洲欧美日韩国产精品一区午夜 | 国产午夜亚洲精品 | 亚洲va欧洲va国产va不卡 | 免费午夜av | 欧美一级久久久 | 黄免费在线观看 | 亚洲久草在线 | 五月天高清欧美mv | 国产精品美女久久久久久免费 | 97超在线| 美女网站在线看 | 伊人天天干 | 亚洲欧美日韩在线一区二区 | 99精品电影 | 依人成人综合网 | 日韩中文字幕视频在线 | 久久成年人 | 成人av在线影院 | 主播av在线 | 91精品入口 | av高清网站在线观看 | 日韩欧美一区二区三区视频 | 西西44人体做爰大胆视频 | 久久精品免视看 | 久久免视频 | 激情五月五月婷婷 | 毛片精品免费在线观看 | 五月婷婷操 | 日韩免费在线观看网站 | 九九综合久久 | 丁香视频全集免费观看 | 国产伦精品一区二区三区免费 | 91亚洲精品国偷拍 | 亚洲欧美日韩一级 | 亚洲成人xxx | 久久久久国产一区二区 | 国产99中文字幕 | 美女黄色网在线播放 | 国产成人三级在线 | 国内视频在线观看 | 久久精品艹 | 高清av免费看 | 97av色| 国产破处视频在线播放 | 国产精品久久久久久影院 | 色资源在线 | 黄色精品在线看 | 国产麻豆精品免费视频 | 久久久亚洲影院 | 黄污在线观看 | 亚洲激情视频在线 | 夜夜夜夜操 | 毛片永久免费 | 免费观看性生活大片3 | 成人av在线影院 | 久久久久久久久久久久亚洲 | 91免费观看 | 亚洲国内精品在线 | 久久香蕉电影网 | 免费久久精品视频 | 91成品人影院 | av在线在线 | 欧美日韩伦理一区 | 亚洲激情视频在线 | 国产小视频你懂的 | 啪啪凸凸 | 国产精品久久久久久久久大全 | 日日夜av| 午夜精品福利一区二区 | 欧美在线观看视频 | 香蕉视频导航 | 97超碰影视 | 日韩av视屏在线观看 | 久久99精品久久久久久久久久久久 | 热久久免费国产视频 | 国产一级视屏 | 国产午夜精品理论片在线 | 夜夜干夜夜 | 黄色avwww | 久久综合狠狠综合久久综合88 | 亚洲精品综合一二三区在线观看 | 日韩在线中文字幕视频 | 色综合久久久久久久久五月 | 偷拍视频一区 | 天堂av在线中文在线 | 91视频免费网址 | 高清国产午夜精品久久久久久 | 国产精品18久久久久久久久久久久 | 在线视频第一页 | 天天舔天天射天天操 | 国产黄色大全 | 亚洲一级二级 | 精品亚洲一区二区三区 | 久久久免费看 | 亚洲国产mv | 亚洲在线免费视频 | 亚洲va欧美va人人爽春色影视 | 国产成人三级在线 | av网址在线播放 | 亚洲精品一区二区精华 | 韩国一区二区三区在线观看 | 色综合久久久久综合体桃花网 | 天天操天天综合网 | 在线视频免费观看 | 成人黄色中文字幕 | 国产 欧美 在线 | 亚洲国产合集 | 亚洲人成网站精品片在线观看 | 天天干天天摸 | 久香蕉| 特级西西人体444是什么意思 | 婷婷久久五月天 | 欧美日韩国语 | 免费高清国产 | 91人人澡人人爽 | 99精品视频中文字幕 | 一级免费观看 | 婷婷丁香激情五月 | 9在线观看免费高清完整 | 波多野结衣一区二区三区中文字幕 | 涩涩网站在线播放 | 99精品在线视频观看 | 九九综合九九综合 | 99理论片 | 久艹视频免费观看 | 国产精品一区二区在线看 | 国产午夜影院 | 中文字幕日韩电影 | 狠狠婷婷| av三级在线播放 | 欧美激情视频一区 | 久久国产精品系列 | 精品日韩在线一区 | 麻豆综合网 | 免费在线观看午夜视频 | 国产在线污 | 成人夜晚看av | 黄色成人av网址 | 国产精品免费不 | 人人澡av| 国产成年免费视频 | 欧美日韩不卡一区 | 日本大尺码专区mv | 国产精品久久久久久久久费观看 | 97成人资源站 | 黄色毛片在线观看 | 免费男女羞羞的视频网站中文字幕 | 国产精品美女久久久久久免费 | 中文字幕美女免费在线 | 精品日韩在线一区 | 国产超碰在线 | 久草在线在线视频 | 日日夜av| 欧美色综合久久 | 99精品欧美一区二区三区 | 亚洲丁香日韩 | 精品视频中文字幕 | 色婷五月天 | 99久久er热在这里只有精品15 | 亚洲精品女 | 婷婷丁香视频 | 国产97视频在线 | 99精品亚洲 | 国产精品久久毛片 | 丁香花中文在线免费观看 | 视频在线观看91 | 网址你懂的在线观看 | 蜜臀av性久久久久av蜜臀三区 | 国产精品av在线 | 免费在线观看的av网站 | 在线天堂视频 | 久久国产精品偷 | 国产精品99久久久久久宅男 | 国产在线色 | 国产视频一二三 | 国产精品毛片一区二区 | 天天操天天射天天添 | 欧美日韩电影在线播放 | 99色在线观看视频 | 天天操天天干天天摸 | 精品视频久久 | 成人午夜电影免费在线观看 | 久久综合免费视频 | 视频在线91 | 色福利网站 | 国产四虎在线 | 久久香蕉国产 | 国产系列在线观看 | 国产精品99精品久久免费 | 国内精品视频一区二区三区八戒 | 亚洲精品小视频在线观看 | www色| 在线看成人 | 国产精品久久久久久久久蜜臀 | 狠色在线| 久久久久伦理电影 | av在线免费播放 | 国产一区久久久 | 91人人爽久久涩噜噜噜 | 99精品免费视频 | 欧美-第1页-屁屁影院 | 婷婷国产v亚洲v欧美久久 | 久久精品国产精品 | av免费网站 | 久久精品视频网站 | 97在线观看视频免费 | 久久国产精品久久精品国产演员表 | 五月婷婷一区二区三区 | 久久久96| 一区二区毛片 | 国产精品精品国产婷婷这里av | 国产精品乱码久久 | 国产精品国产三级国产专区53 | 精品毛片一区二区免费看 | 日本天天色| 久久精品国产v日韩v亚洲 | 日韩在线国产精品 | 亚洲综合色丁香婷婷六月图片 | av免费观看网站 | 精品一区二区在线看 | 国产精品黄色影片导航在线观看 | 天天夜夜狠狠操 | 日韩中文字幕在线 | 中文字幕第 | 蜜桃视频成人在线观看 | 丁香在线观看完整电影视频 | 91亚洲国产| 成人中文字幕在线 | 国产在线播放一区二区 | 91精品国产入口 | 久久99久久99精品 | 激情小说 五月 | 69av久久| 啪啪动态视频 | 特级aaa毛片 | av电影在线免费 | 精品久久免费 | 中文字幕在线成人 | 国产美女精品视频免费观看 | 国产99久久久国产精品成人免费 | 欧美怡红院 | 免费黄色在线 | 成人亚洲精品国产www | 在线观看一级 | 天天拍天天爽 | 在线观看国产成人av片 | 久久躁日日躁aaaaxxxx | 五月婷婷六月丁香激情 | 中文字幕第| 精品五月天| 97视频久久久 | 91av视频观看| 国内精品久久久久国产 | 国产精品一区在线观看 | 国产精品成人久久久久久久 | 三级在线视频播放 | 四虎影视成人精品国库在线观看 | 韩日精品中文字幕 | 97色在线观看免费视频 |