• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于無服務(wù)器架構(gòu)的云原生應(yīng)用軟件研究

    2022-07-13 00:59:56張國(guó)生
    關(guān)鍵詞:用戶服務(wù)

    張國(guó)生

    (云南大學(xué),云南 昆明 650500)

    0 引 言

    軟件開發(fā)正在經(jīng)歷根本性的變革,大而全的應(yīng)用,長(zhǎng)時(shí)間的構(gòu)建、測(cè)試和發(fā)布周期,難以快速迭代用戶反饋等嚴(yán)重制約了軟件工程的發(fā)展。單體應(yīng)用的程序代碼復(fù)雜,擴(kuò)展能力受限,缺乏動(dòng)態(tài)縮放和有效添加新功能的能力,阻礙了技術(shù)創(chuàng)新,難于開發(fā)、維護(hù)、擴(kuò)展、部署和故障隔離,微服務(wù)架構(gòu)將單體應(yīng)用拆分成多個(gè)獨(dú)立的微服務(wù),易于開發(fā)和擴(kuò)展,技術(shù)棧不受限制,能按需伸縮,但資源利用率低,運(yùn)行和維護(hù)成本高。良好的軟件產(chǎn)品建立在快速構(gòu)建、及時(shí)理解用戶反饋的基礎(chǔ)上,開發(fā)人員利用云計(jì)算資源、開源軟件和第三方服務(wù),整合一流技術(shù),縮短軟件產(chǎn)品推向市場(chǎng)的時(shí)間。云計(jì)算時(shí)代出現(xiàn)大量XaaS(X as a Service)形式的概念,從基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service,IaaS)、平臺(tái)即服務(wù)(Platform as a Service,PaaS)、軟件即服務(wù)(Software as a Service,SaaS)到容器云引領(lǐng)的容器即服務(wù)(Container as a Service,CaaS),再到微服務(wù)架構(gòu),它們都試圖將各種軟硬件資源抽象為一種服務(wù),提供給開發(fā)人員使用,使他們不再關(guān)注基礎(chǔ)設(shè)施、資源調(diào)配、中間件等,減輕開發(fā)負(fù)擔(dān)的同時(shí)更好地聚焦于業(yè)務(wù)功能和性能。軟件開發(fā)需要全新的基礎(chǔ)設(shè)施棧,使開發(fā)人員專注于提升業(yè)務(wù)價(jià)值?;A(chǔ)設(shè)施抽象、自動(dòng)伸縮和更好的資源利用使無服務(wù)器計(jì)算獲得成功,無服務(wù)器重新定義了軟件的開發(fā)、部署、運(yùn)維、管理和商品化。

    2019年,無服務(wù)器被Gartner稱為最有潛力的云計(jì)算技術(shù)發(fā)展方向,并被賦予是必然性的發(fā)展趨勢(shì)。無服務(wù)器從底層開始變革計(jì)算資源的形態(tài),為軟件架構(gòu)設(shè)計(jì)、應(yīng)用服務(wù)、軟件部署帶來了新的設(shè)計(jì)思路,無服務(wù)器架構(gòu)作為一種新技術(shù)迅速涌現(xiàn)。無服務(wù)器計(jì)算能幫助企業(yè)構(gòu)建輕量級(jí)、高度靈活和無狀態(tài)的應(yīng)用程序,得到了企業(yè)的青睞,許多企業(yè)已經(jīng)將無服務(wù)器計(jì)算納入他們的解決方案。

    無服務(wù)器計(jì)算是一種新興的范式,支持高度可擴(kuò)展、事件驅(qū)動(dòng)的應(yīng)用程序,云提供商充當(dāng)服務(wù)器,動(dòng)態(tài)管理計(jì)算資源的分配[1]。Google將云函數(shù)描述為一種基于事件、輕量、異步的計(jì)算解決方案,用于創(chuàng)建更小的單任務(wù)函數(shù)響應(yīng)不同的云事件,無服務(wù)器零運(yùn)維,無需管理服務(wù)器及其運(yùn)行時(shí)環(huán)境[2]。在編寫事件驅(qū)動(dòng)的無服務(wù)器應(yīng)用程序時(shí),使用高級(jí)語(yǔ)言編寫,第三方服務(wù)和微服務(wù)通過函數(shù)調(diào)用或直接調(diào)用融入事件驅(qū)動(dòng)服務(wù)中。用戶使用無服務(wù)器模型構(gòu)建應(yīng)用程序,底層基礎(chǔ)設(shè)施具有良好彈性,按使用量計(jì)費(fèi)降低了成本,易于使用的接口和配置,使開發(fā)人員不用理解基礎(chǔ)設(shè)施,不再將基礎(chǔ)設(shè)施作為應(yīng)用程序設(shè)計(jì)的一部分。

    無服務(wù)器計(jì)算將應(yīng)用程序分解為多個(gè)獨(dú)立的無狀態(tài)細(xì)粒度函數(shù)[3]。函數(shù)僅在響應(yīng)事件時(shí)執(zhí)行,并且可以獨(dú)立擴(kuò)展,函數(shù)是無狀態(tài)的,無服務(wù)器計(jì)算也被稱為函數(shù)即服務(wù)(Function as a Service,F(xiàn)aaS)[4]。開發(fā)人員只需在無服務(wù)器平臺(tái)上編寫代碼并部署函數(shù),平臺(tái)負(fù)責(zé)函數(shù)執(zhí)行、存儲(chǔ)、容器、網(wǎng)絡(luò)通信和容錯(cuò),根據(jù)請(qǐng)求數(shù)擴(kuò)展函數(shù),用戶只需為每次函數(shù)調(diào)用使用的計(jì)算資源付費(fèi)[5]。無服務(wù)器計(jì)算在網(wǎng)絡(luò)邊緣計(jì)算、科學(xué)計(jì)算和移動(dòng)計(jì)算等方面是很有潛力的方法[6]。無服務(wù)器與人工智能結(jié)合,可以快速實(shí)現(xiàn)人臉識(shí)別、車牌識(shí)別、人工智能推理等應(yīng)用。主要的云服務(wù)提供商Amazon Web Services(AWS)Lambda、Azure函數(shù)、IBM云函數(shù)和Google云函數(shù)都為無服務(wù)器計(jì)算提供解決方案。

    無服務(wù)器計(jì)算使開發(fā)人員從簡(jiǎn)單的部署、少量的操作中獲益,云提供商則以較少的計(jì)算資源高效地為大量用戶提供服務(wù)。無服務(wù)器計(jì)算的實(shí)現(xiàn)流程:開發(fā)人員編碼、上傳、部署函數(shù),選擇觸發(fā)事件,云提供商管理基礎(chǔ)設(shè)施以及應(yīng)用程序的伸縮、性能和計(jì)費(fèi)。云計(jì)算將業(yè)務(wù)無關(guān)的管理和運(yùn)維下沉到基礎(chǔ)設(shè)施,使應(yīng)用程序聚焦于業(yè)務(wù)功能的開發(fā)和運(yùn)行,逐步演化出無服務(wù)器范式,無服務(wù)器計(jì)算使開發(fā)人員無需關(guān)注服務(wù)器,只要提交業(yè)務(wù)代碼,就能得到相應(yīng)的功能和服務(wù)。無服務(wù)器函數(shù)按實(shí)際調(diào)用的執(zhí)行時(shí)間計(jì)費(fèi),對(duì)于工作負(fù)載不規(guī)則的應(yīng)用程序是理想的選擇。無服務(wù)器計(jì)算適合無狀態(tài)、事件驅(qū)動(dòng)和短運(yùn)行時(shí)間的應(yīng)用程序。

    無服務(wù)器計(jì)算越來越普及,但該技術(shù)仍處于起步階段,存在一定限制,阻礙了其廣泛應(yīng)用。目前的無服務(wù)器計(jì)算側(cè)重于操作靈活性、異步和可伸縮性,不支持函數(shù)的直接組合,必須通過相應(yīng)的云事件才能觸發(fā)函數(shù)。一方面,這種限制是有益的,因?yàn)殚_發(fā)人員必須將函數(shù)設(shè)計(jì)為高度細(xì)粒度、可復(fù)用的組件。另一方面,開放性和細(xì)粒度增加了系統(tǒng)的復(fù)雜度,開發(fā)人員無法假設(shè)函數(shù)之間的順序一致性或可串行性,使全局語(yǔ)義的推理變得復(fù)雜。

    1 云原生技術(shù)

    本質(zhì)上,用戶對(duì)云的期望是一個(gè)運(yùn)行時(shí)環(huán)境,用戶更關(guān)心業(yè)務(wù)邏輯,不關(guān)心或少關(guān)心技術(shù)邏輯,這也是云原生應(yīng)用產(chǎn)生的背景。云原生技術(shù)有利于企業(yè)在公有云、私有云和混合云上構(gòu)建和運(yùn)行可彈性伸縮的應(yīng)用。云原生的代表技術(shù)包括容器、微服務(wù)、服務(wù)網(wǎng)格、不可變基礎(chǔ)設(shè)施和聲明式API[7]。這些技術(shù)能構(gòu)建容錯(cuò)性好、易于管理、便于測(cè)試的松散耦合系統(tǒng),結(jié)合可靠的自動(dòng)化手段,云原生技術(shù)使開發(fā)人員對(duì)應(yīng)用程序做出頻繁、可預(yù)測(cè)的變更。

    容器是一種輕量的虛擬化技術(shù),能提供可移植、可復(fù)用的模式打包、分發(fā)和運(yùn)行應(yīng)用程序,可以將不同應(yīng)用程序的不同組件組裝在一起,也可以將它們彼此隔離。容器技術(shù)簡(jiǎn)化了應(yīng)用程序的分發(fā)和部署,是云原生應(yīng)用的基石。微服務(wù)架構(gòu)將應(yīng)用程序按功能拆分成多個(gè)獨(dú)立自治的微服務(wù),每個(gè)微服務(wù)僅實(shí)現(xiàn)一種功能,具有明確的業(yè)務(wù)邊界。微服務(wù)之間采用標(biāo)準(zhǔn)接口通信和交換數(shù)據(jù),形成一種松散耦合的交互模式。服務(wù)網(wǎng)格是微服務(wù)網(wǎng)絡(luò)基礎(chǔ)設(shè)施,實(shí)現(xiàn)復(fù)雜網(wǎng)絡(luò)中微服務(wù)之間的通信,調(diào)和微服務(wù)與外部應(yīng)用程序,輕量級(jí)網(wǎng)絡(luò)代理能可靠地實(shí)現(xiàn)微服務(wù)請(qǐng)求,提供網(wǎng)絡(luò)彈性機(jī)制,與微服務(wù)部署在一起,但微服務(wù)感知不到,對(duì)業(yè)務(wù)應(yīng)用是透明的[8]。不可變基礎(chǔ)設(shè)施是指基礎(chǔ)設(shè)施環(huán)境創(chuàng)建后不接受更新和修改,只能通過整體替換來創(chuàng)建和變更,保持基礎(chǔ)設(shè)施的一致、可靠以及簡(jiǎn)單、可預(yù)測(cè)的部署過程。聲明式API描述要達(dá)到的目標(biāo)并提交給API服務(wù)器,由其負(fù)責(zé)實(shí)現(xiàn)目標(biāo),減少開發(fā)、運(yùn)維人員的工作量,提高開發(fā)效率。

    無服務(wù)器計(jì)算所具備的特征優(yōu)勢(shì)、技術(shù)優(yōu)勢(shì)和費(fèi)用優(yōu)勢(shì),將成為新一代云計(jì)算的發(fā)展方向,無服務(wù)器架構(gòu)推進(jìn)了云原生應(yīng)用的開發(fā),利用云計(jì)算的強(qiáng)大算力,使云原生應(yīng)用成為企業(yè)業(yè)務(wù)助推器。云函數(shù)作為虛擬機(jī)、容器技術(shù)之后的下一代計(jì)算形態(tài),將引發(fā)云計(jì)算新的熱潮,圍繞云函數(shù)構(gòu)建的產(chǎn)品、工具、生態(tài)以及應(yīng)用,也將帶來新的發(fā)展,隨著無服務(wù)器產(chǎn)品和生態(tài)走向成熟,將逐步承載企業(yè)核心業(yè)務(wù)。

    2 無服務(wù)器計(jì)算

    無服務(wù)器計(jì)算的主要特征是事件驅(qū)動(dòng)、無狀態(tài)、短運(yùn)行時(shí)間、敏捷自動(dòng)伸縮和低成本。無狀態(tài)函數(shù)、云服務(wù)與數(shù)據(jù)對(duì)象存儲(chǔ)的組合,擴(kuò)大了應(yīng)用程序的范圍。由于其簡(jiǎn)單性、固有的彈性和計(jì)費(fèi)模型,函數(shù)即服務(wù)正成為云計(jì)算中流行的模式。FaaS編程模型是基于事件的,可以觸發(fā)函數(shù)響應(yīng)特定的云事件,F(xiàn)aaS可視為反應(yīng)式系統(tǒng),具備四個(gè)必需的屬性:響應(yīng)性、恢復(fù)力、彈性和事件驅(qū)動(dòng)。云函數(shù)和對(duì)象存儲(chǔ)服務(wù)的分離促進(jìn)了應(yīng)用程序在并行處理海量數(shù)據(jù)時(shí)的彈性和靈活性。

    無服務(wù)器計(jì)算是開發(fā)云原生應(yīng)用軟件的新方法。IBM將其定義為一種計(jì)算方法,將公共基礎(chǔ)設(shè)施管理任務(wù),如擴(kuò)展、調(diào)度、恢復(fù)、資源調(diào)配等轉(zhuǎn)移給云提供商,使開發(fā)人員將時(shí)間和精力集中在應(yīng)用程序和業(yè)務(wù)邏輯上[9]。無服務(wù)器平臺(tái)使開發(fā)人員專注于核心產(chǎn)品及其業(yè)務(wù)功能,而不是安裝服務(wù)器、更新操作系統(tǒng)和運(yùn)行時(shí)環(huán)境、管理訪問控制策略、資源調(diào)配、調(diào)整程序大小、擴(kuò)展和可用性等,云提供商負(fù)責(zé)管理基礎(chǔ)設(shè)施和運(yùn)行時(shí)環(huán)境,為用戶制定精細(xì)的計(jì)費(fèi)策略,降低了使用成本。開發(fā)人員不直接操作云基礎(chǔ)設(shè)施,而是以函數(shù)的形式提供短時(shí)運(yùn)行代碼,由無服務(wù)器平臺(tái)執(zhí)行。對(duì)于高吞吐量應(yīng)用程序,無服務(wù)器計(jì)算采用自動(dòng)伸縮資源模式動(dòng)態(tài)匹配負(fù)載峰值。

    2.1 無狀態(tài)云函數(shù)

    無服務(wù)器計(jì)算是一種編程模型,代碼在預(yù)先配置的云計(jì)算資源中按需執(zhí)行,通過集中資源和管理運(yùn)行平臺(tái),無服務(wù)器能跨多個(gè)物理服務(wù)器平衡工作負(fù)載實(shí)現(xiàn)高度彈性擴(kuò)展。將無服務(wù)器代碼與虛擬運(yùn)行環(huán)境捆綁在一起的容器,可以在物理服務(wù)器之間部署,無服務(wù)器可以創(chuàng)建多個(gè)容器動(dòng)態(tài)擴(kuò)展應(yīng)用程序的實(shí)例,為了實(shí)現(xiàn)這種方法,無服務(wù)器應(yīng)用程序代碼被組織成無狀態(tài)的云函數(shù)。在無服務(wù)器計(jì)算中,計(jì)算單元是函數(shù),函數(shù)沒有狀態(tài),無狀態(tài)可以實(shí)現(xiàn)自動(dòng)伸縮,無服務(wù)器平臺(tái)根據(jù)請(qǐng)求數(shù)伸縮函數(shù)實(shí)例。

    在無服務(wù)器應(yīng)用程序開發(fā)中,開發(fā)人員使用云提供商支持的編程語(yǔ)言將業(yè)務(wù)功能定義為無狀態(tài)函數(shù)及其組合,Python和JavaScript是無服務(wù)器平臺(tái)支持的常見腳本語(yǔ)言。無狀態(tài)編程模型為開發(fā)人員提供了對(duì)應(yīng)用程序的更多控制,允許他們透明地提供安全補(bǔ)丁并優(yōu)化程序,動(dòng)態(tài)擴(kuò)展無服務(wù)器函數(shù)支持云彈性,無服務(wù)器函數(shù)不在運(yùn)行時(shí)保存狀態(tài),但開發(fā)人員可以在函數(shù)中編寫程序獲取或更新需要的狀態(tài),還可以訪問表示函數(shù)運(yùn)行環(huán)境的上下文對(duì)象。由于使用了無狀態(tài)、短時(shí)運(yùn)行的函數(shù),函數(shù)的資源并發(fā)度可以在函數(shù)級(jí)別而不是應(yīng)用程序級(jí)別自動(dòng)調(diào)整,函數(shù)的無狀態(tài)性使平臺(tái)能動(dòng)態(tài)并發(fā)調(diào)用函數(shù)。

    無服務(wù)器計(jì)算以函數(shù)作為其基本設(shè)計(jì)單元,無狀態(tài)函數(shù)使開發(fā)人員能構(gòu)建松散耦合的代碼,無狀態(tài)函數(shù)比有狀態(tài)組件更易于水平擴(kuò)展,增加了函數(shù)設(shè)計(jì)的靈活性。函數(shù)運(yùn)行結(jié)束后,在函數(shù)生命周期內(nèi)生成的狀態(tài)數(shù)據(jù)全部自動(dòng)刪除,除非顯式持久化到外部存儲(chǔ)。函數(shù)是無狀態(tài)和冪等的,當(dāng)函數(shù)調(diào)用失敗時(shí),可以再次調(diào)用執(zhí)行而沒有副作用。開發(fā)人員設(shè)計(jì)函數(shù)時(shí)遵循單一職責(zé)原則(Single Responsibility Principle,SRP),一個(gè)函數(shù)僅完成一種任務(wù),使函數(shù)更易于測(cè)試,運(yùn)行更穩(wěn)定,產(chǎn)生的錯(cuò)誤和異常更少。無服務(wù)器計(jì)算以松散耦合模式集成無狀態(tài)函數(shù)、第三方服務(wù)和微服務(wù),構(gòu)建易于開發(fā)、易于管理的復(fù)雜應(yīng)用程序,擁有明確定義接口的無狀態(tài)細(xì)粒度函數(shù)易于在無服務(wù)器架構(gòu)中被復(fù)用。

    2.2 事件驅(qū)動(dòng)云函數(shù)

    事件驅(qū)動(dòng)由于其良好的解耦和可擴(kuò)展的架構(gòu),成為分布式系統(tǒng)的骨干。無服務(wù)器計(jì)算是事件驅(qū)動(dòng)的云執(zhí)行模型,http請(qǐng)求、文件上傳、數(shù)據(jù)庫(kù)修改、消息發(fā)送等都可以定義為無服務(wù)器事件。云函數(shù)運(yùn)行是事件驅(qū)動(dòng)的,程序進(jìn)程在事件觸發(fā)時(shí)產(chǎn)生,在事件處理后終止,降低了執(zhí)行事件驅(qū)動(dòng)工作負(fù)載的操作成本和復(fù)雜度。無服務(wù)器函數(shù)與“監(jiān)聽-處理”類程序不同,不是一直在線,而是按需啟動(dòng)。

    FaaS遵循事件驅(qū)動(dòng)的方法,應(yīng)用程序由函數(shù)組成,函數(shù)在事件觸發(fā)時(shí)調(diào)用,開發(fā)人員可以定義函數(shù)及其依賴,而不受平臺(tái)限制,函數(shù)部署到無服務(wù)器平臺(tái),為函數(shù)指定觸發(fā)事件,當(dāng)函數(shù)被觸發(fā)時(shí),代碼加載到容器,在容器中運(yùn)行,容器在函數(shù)運(yùn)行結(jié)束后被移除或緩存以備將來復(fù)用,容器是無服務(wù)器范式的關(guān)鍵推動(dòng)者之一。函數(shù)加載到容器中運(yùn)行,代碼更安全,且容器易于打包、部署和移除,每個(gè)容器進(jìn)程運(yùn)行在一個(gè)沙箱中,對(duì)其他容器不可見,容器被多個(gè)平臺(tái)支持,可以跨平臺(tái)移植。

    無服務(wù)器計(jì)算的核心功能之一是事件驅(qū)動(dòng),如圖1所示,平臺(tái)管理一系列用戶定義的函數(shù),接收通過用戶接口(User Interface,UI)、API網(wǎng)關(guān)、消息隊(duì)列、對(duì)象存儲(chǔ)、日志服務(wù)或云事件源(Cloud Event Sources,CES)產(chǎn)生的事件,確定向哪個(gè)函數(shù)發(fā)送事件,查找函數(shù)的現(xiàn)有實(shí)例或創(chuàng)建新實(shí)例,將事件傳遞給函數(shù)實(shí)例,等待響應(yīng),收集執(zhí)行日志,將響應(yīng)反饋給用戶,運(yùn)行結(jié)束終止該函數(shù)。平臺(tái)必須快速有效地啟動(dòng)函數(shù)并處理其輸入,對(duì)事件排隊(duì),根據(jù)隊(duì)列的狀態(tài)和事件分布,合理安排函數(shù)執(zhí)行,終止空閑函數(shù)實(shí)例并釋放資源,處理程序異常。

    圖1 事件驅(qū)動(dòng)云函數(shù)及其函數(shù)實(shí)例并發(fā)

    2.3 云函數(shù)彈性伸縮及其并發(fā)

    無服務(wù)器應(yīng)用程序可以快速、無縫地自動(dòng)擴(kuò)展,當(dāng)并發(fā)用戶數(shù)量增加或減少時(shí),應(yīng)用程序自動(dòng)伸縮其規(guī)模,根據(jù)負(fù)載動(dòng)態(tài)分配無服務(wù)器架構(gòu)中的資源,使平臺(tái)能應(yīng)對(duì)突發(fā)的請(qǐng)求峰值。業(yè)務(wù)邏輯映射到函數(shù)計(jì)算中,業(yè)務(wù)高峰期,函數(shù)動(dòng)態(tài)擴(kuò)展支持業(yè)務(wù)高并發(fā),這個(gè)過程不需要管理軟硬件環(huán)境。針對(duì)業(yè)務(wù)請(qǐng)求數(shù),平臺(tái)自動(dòng)彈性生成恰當(dāng)?shù)暮瘮?shù)實(shí)例來承載實(shí)際業(yè)務(wù)量,當(dāng)沒有請(qǐng)求時(shí),無實(shí)例運(yùn)行。云函數(shù)由事件觸發(fā),觸發(fā)啟動(dòng)的一個(gè)云函數(shù)實(shí)例僅實(shí)現(xiàn)一種具體的功能,在函數(shù)代碼中不考慮并發(fā),開發(fā)效率更高,云函數(shù)實(shí)例的高并發(fā),提高了軟件性能。

    無服務(wù)器計(jì)算在執(zhí)行過程中,根據(jù)請(qǐng)求數(shù)動(dòng)態(tài)擴(kuò)容函數(shù)滿足用戶需求,這個(gè)過程對(duì)用戶是透明的。無服務(wù)器函數(shù)的無狀態(tài)性使平臺(tái)能動(dòng)態(tài)擴(kuò)展,當(dāng)平臺(tái)監(jiān)測(cè)到缺少函數(shù)的運(yùn)行實(shí)例,可以啟動(dòng)該函數(shù)的其他實(shí)例,通過并行執(zhí)行多個(gè)函數(shù)實(shí)例動(dòng)態(tài)處理業(yè)務(wù)負(fù)載峰值,如果有太多函數(shù)實(shí)例,可以終止空閑實(shí)例。無服務(wù)器以大規(guī)模并發(fā)模式執(zhí)行云函數(shù)程序,響應(yīng)事件驅(qū)動(dòng),實(shí)現(xiàn)業(yè)務(wù)高并發(fā),如圖1所示,云提供商負(fù)責(zé)配置和管理運(yùn)行程序的彈性計(jì)算云服務(wù)器,為用戶提供高可信、高彈性的云計(jì)算基礎(chǔ)設(shè)施。

    2.4 云函數(shù)冷啟動(dòng)

    函數(shù)程序執(zhí)行之前,需要分配服務(wù)器、啟動(dòng)容器、初始化相關(guān)代碼、包、設(shè)置工作程序、在內(nèi)存中加載函數(shù),運(yùn)行函數(shù)。無服務(wù)器函數(shù)收縮為零后,再次運(yùn)行將引發(fā)冷啟動(dòng)。冷狀態(tài)容器初始化需要消耗時(shí)間,當(dāng)啟動(dòng)多個(gè)函數(shù)并且每個(gè)函數(shù)都需要初始化容器時(shí),將導(dǎo)致大量的系統(tǒng)延遲。當(dāng)容器處于暖狀態(tài)時(shí),在內(nèi)存中已準(zhǔn)備就緒,可以立即為用戶請(qǐng)求提供函數(shù)服務(wù),容器中函數(shù)實(shí)例運(yùn)行結(jié)束后,可以為該容器分配新實(shí)例,也可以使用定時(shí)事件周期性地運(yùn)行,保持容器為暖狀態(tài),減少冷啟動(dòng)[10]。函數(shù)執(zhí)行時(shí)間是代碼執(zhí)行時(shí)間與初始化要執(zhí)行的代碼和容器所需的額外時(shí)間之和,通過優(yōu)化函數(shù)調(diào)用資源,使用暖狀態(tài)容器運(yùn)行函數(shù)實(shí)例,減少額外時(shí)間[11]。用函數(shù)執(zhí)行進(jìn)程中保存的快照恢復(fù)、預(yù)熱函數(shù),減少函數(shù)副本的執(zhí)行時(shí)間,降低總體延遲[12]。

    當(dāng)收到用戶請(qǐng)求時(shí),平臺(tái)為用戶的每個(gè)請(qǐng)求分配一個(gè)函數(shù)實(shí)例。用戶首次請(qǐng)求觸發(fā)函數(shù)時(shí),平臺(tái)立刻啟動(dòng)相關(guān)資源,這個(gè)過程將產(chǎn)生一定的冷啟動(dòng)時(shí)間。為減少冷啟動(dòng),無服務(wù)器平臺(tái)預(yù)先初始化一批不同規(guī)格的容器放在資源池中,當(dāng)用戶請(qǐng)求進(jìn)入時(shí),可以快速?gòu)馁Y源池申請(qǐng)一個(gè)容器運(yùn)行函數(shù)實(shí)例,從而降低資源申請(qǐng)的時(shí)間延遲。平臺(tái)根據(jù)歷史并發(fā)數(shù)據(jù)預(yù)測(cè),為用戶預(yù)留一定數(shù)量的容器,預(yù)先加載函數(shù)實(shí)例,不僅減少了冷啟動(dòng),也提高了函數(shù)復(fù)用幾率和動(dòng)態(tài)伸縮性能。如果更新函數(shù)版本,則其后的函數(shù)請(qǐng)求都將重新冷啟動(dòng),可以預(yù)先下載新版本函數(shù)并創(chuàng)建一些實(shí)例,逐步將用戶請(qǐng)求平滑遷移到新版本函數(shù)。

    2.5 云函數(shù)調(diào)用模式

    無服務(wù)器為用戶提供在資源池上構(gòu)建和托管事件驅(qū)動(dòng)應(yīng)用程序的能力,應(yīng)用程序工作流由一系列函數(shù)組成,由預(yù)定義的事件觸發(fā)運(yùn)行,根據(jù)用戶請(qǐng)求動(dòng)態(tài)分配資源。應(yīng)用程序中的計(jì)算邏輯由函數(shù)表征,可以將函數(shù)與其他云服務(wù)組合在一起,創(chuàng)建業(yè)務(wù)工作流。無服務(wù)器中的應(yīng)用程序工作流遵循事件驅(qū)動(dòng)模型,函數(shù)由事件觸發(fā)調(diào)用,由于函數(shù)無狀態(tài),可以獨(dú)立伸縮。為確保開發(fā)人員將函數(shù)設(shè)計(jì)成小型獨(dú)立的代碼單元,平臺(tái)對(duì)函數(shù)的大小和運(yùn)行時(shí)環(huán)境進(jìn)行了限制,以函數(shù)為基本粒度,降低了開發(fā)難度。

    云函數(shù)異步調(diào)用執(zhí)行模式主要有:序列模式、瀑布模式和并發(fā)模式。序列模式依次調(diào)用一系列函數(shù),每個(gè)函數(shù)的運(yùn)行結(jié)果在序列結(jié)束后,進(jìn)行統(tǒng)一處理存入云數(shù)據(jù)庫(kù),如圖2所示。瀑布模式依次執(zhí)行一組函數(shù),前一個(gè)函數(shù)的運(yùn)行結(jié)果傳遞給下一個(gè)函數(shù),最后一個(gè)函數(shù)的運(yùn)行結(jié)果存入云數(shù)據(jù)庫(kù),如圖3所示。如果函數(shù)可以并發(fā)執(zhí)行而不需要等待其他函數(shù)結(jié)束,可以使用并發(fā)模式,每個(gè)函數(shù)的運(yùn)行結(jié)果分別存入云數(shù)據(jù)庫(kù),如圖4所示。

    圖2 云函數(shù)異步調(diào)用執(zhí)行序列模式

    圖3 云函數(shù)異步調(diào)用執(zhí)行瀑布模式

    圖4 云函數(shù)異步調(diào)用執(zhí)行并發(fā)模式

    3 無服務(wù)器架構(gòu)及其云原生應(yīng)用

    無服務(wù)器計(jì)算是一種資源池化和資源利用的模型,包括操作系統(tǒng)、運(yùn)行時(shí)環(huán)境和應(yīng)用程序。無服務(wù)器計(jì)算被定義為一種軟件架構(gòu),其中應(yīng)用程序被分解為觸發(fā)事件和動(dòng)作函數(shù),并且提供無縫托管和運(yùn)行時(shí)環(huán)境。在無服務(wù)器計(jì)算中,云提供商管理數(shù)據(jù)中心、云函數(shù)、服務(wù)器、運(yùn)行時(shí)環(huán)境、第三方服務(wù)和微服務(wù)。開發(fā)人員專注于價(jià)值密度更高的業(yè)務(wù)邏輯,將應(yīng)用程序分解為多個(gè)相互依賴的函數(shù)集合,每個(gè)函數(shù)集合實(shí)現(xiàn)一部分業(yè)務(wù)功能,平臺(tái)管理資源供給和分配,使整體業(yè)務(wù)輕量化。

    無服務(wù)器架構(gòu)可以分為兩個(gè)部分:函數(shù)即服務(wù)FaaS和后端即服務(wù)(Backend as a Service,BaaS)。FaaS將服務(wù)端代碼,從持久運(yùn)行的組件演化成短時(shí)運(yùn)行的函數(shù)實(shí)例。BaaS不再編寫、管理服務(wù)端組件,通過業(yè)務(wù)領(lǐng)域通用的遠(yuǎn)程組件為用戶提供服務(wù),BaaS依賴于第三方服務(wù)和微服務(wù),如加密、用戶認(rèn)證、云數(shù)據(jù)庫(kù)及后端微服務(wù),可以直接在應(yīng)用程序中調(diào)用或者觸發(fā)函數(shù)調(diào)用。開發(fā)人員編寫函數(shù)部署到無服務(wù)器平臺(tái),不用持久運(yùn)行進(jìn)程等待HTTP請(qǐng)求或API網(wǎng)關(guān)調(diào)用,而是通過事件驅(qū)動(dòng)觸發(fā)函數(shù)運(yùn)行。

    無服務(wù)器平臺(tái)根據(jù)工作負(fù)載管理資源的分配和釋放,隨著應(yīng)用程序動(dòng)態(tài)性和復(fù)雜性的增加,動(dòng)態(tài)分配容器、監(jiān)控服務(wù)和響應(yīng)工作負(fù)載變化的任務(wù)越來越頻繁,通過組合函數(shù)即服務(wù)和后端即服務(wù),開發(fā)人員可以快速構(gòu)建云原生應(yīng)用軟件。無服務(wù)器是自動(dòng)彈性擴(kuò)縮容的,業(yè)務(wù)高峰時(shí),計(jì)算能力、容量自動(dòng)擴(kuò)展,承載更多的用戶請(qǐng)求,業(yè)務(wù)下降時(shí),所使用的資源同時(shí)收縮。無服務(wù)器函數(shù)是按需啟動(dòng)的,函數(shù)僅在事件觸發(fā)時(shí)被加載運(yùn)行,空閑狀態(tài)下函數(shù)不占用計(jì)算資源。無服務(wù)器架構(gòu)解耦基礎(chǔ)設(shè)施與業(yè)務(wù),應(yīng)用程序被解構(gòu)成若干個(gè)細(xì)粒度的無狀態(tài)函數(shù),開發(fā)人員聚焦于單任務(wù)函數(shù)的開發(fā)、迭代和升級(jí),快速實(shí)現(xiàn)業(yè)務(wù)功能,縮短軟件上市時(shí)間。

    無服務(wù)器架構(gòu)提供一種更小更靈活的動(dòng)態(tài)容器,函數(shù)由事件觸發(fā)在容器中運(yùn)行,程序不需要編譯,部署到平臺(tái)就可以運(yùn)行,開發(fā)人員重點(diǎn)關(guān)注業(yè)務(wù)流程、場(chǎng)景,以及對(duì)用戶需求的快速理解、迭代和實(shí)現(xiàn)。無服務(wù)器架構(gòu)及其云原生應(yīng)用,如圖5所示,在無服務(wù)器架構(gòu)中,沒有傳統(tǒng)的后端,Web應(yīng)用程序、Mobile APP、物聯(lián)網(wǎng)(Internet of Things,IoT)設(shè)備等通過API網(wǎng)關(guān)與各種不同的函數(shù)進(jìn)行通信,也可以通過事件觸發(fā)器觸發(fā)函數(shù)運(yùn)行。API網(wǎng)關(guān)定義了路由和節(jié)點(diǎn),每個(gè)路由與處理該路由的資源相關(guān)聯(lián)。當(dāng)API網(wǎng)關(guān)接收到請(qǐng)求時(shí),查找與該請(qǐng)求匹配的路由配置,將HTTP請(qǐng)求參數(shù)映射到函數(shù)的輸入,或者將HTTP請(qǐng)求作為JSON對(duì)象傳遞給調(diào)用函數(shù),函數(shù)執(zhí)行其業(yè)務(wù)邏輯并將結(jié)果返回到API網(wǎng)關(guān),API網(wǎng)關(guān)將結(jié)果轉(zhuǎn)換成HTTP響應(yīng),傳遞給原始調(diào)用方。

    圖5 無服務(wù)器架構(gòu)及其云原生應(yīng)用

    用戶可以直接和身份認(rèn)證、云數(shù)據(jù)庫(kù)、文件存儲(chǔ)等第三方服務(wù)通信,獲取相應(yīng)的服務(wù)功能,不需要經(jīng)過API網(wǎng)關(guān),就可以在應(yīng)用程序中調(diào)用,節(jié)省了開發(fā)時(shí)間。查詢搜索微服務(wù)、支付微服務(wù)、數(shù)據(jù)分析微服務(wù)、通知微服務(wù)、日志微服務(wù)等可以通過事件觸發(fā)函數(shù),調(diào)用后端微服務(wù)集成到應(yīng)用程序,為用戶提供相應(yīng)的業(yè)務(wù)功能。

    4 結(jié) 語(yǔ)

    無服務(wù)器計(jì)算是對(duì)網(wǎng)絡(luò)資源、服務(wù)和運(yùn)維體系的抽象,無服務(wù)器應(yīng)用程序運(yùn)行成本低、構(gòu)建速度快、部署簡(jiǎn)單、自動(dòng)按需擴(kuò)展、節(jié)約成本和資源、細(xì)粒度、高效的軟件設(shè)計(jì)和更好的容錯(cuò)性,被越來越多的企業(yè)和軟件開發(fā)人員接受。在無服務(wù)器架構(gòu)中,函數(shù)即服務(wù)為開發(fā)人員提供函數(shù)的編碼、上傳和部署,并在高性能云平臺(tái)運(yùn)行,微服務(wù)后端即服務(wù)化,使開發(fā)人員更加重視領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)。無服務(wù)器計(jì)算是一種新范式,切合云計(jì)算發(fā)展方向,為用戶提供強(qiáng)大的基礎(chǔ)設(shè)施和服務(wù),無服務(wù)器函數(shù)的快速開發(fā)、迭代、升級(jí)和復(fù)用,提高了軟件性能和開發(fā)效率。

    未來低代碼甚至零代碼與無服務(wù)器的組合將是云計(jì)算的優(yōu)先解決方案,利用低代碼或零代碼平臺(tái)可視化實(shí)現(xiàn)通用服務(wù),組合用戶定制函數(shù)實(shí)現(xiàn)個(gè)性化服務(wù)。無服務(wù)器架構(gòu)將成為新的云計(jì)算標(biāo)準(zhǔn)和最佳實(shí)踐,是開發(fā)人員和企業(yè)的優(yōu)選。

    猜你喜歡
    用戶服務(wù)
    服務(wù)在身邊 健康每一天
    服務(wù)在身邊 健康每一天
    服務(wù)在身邊 健康每一天
    服務(wù)在身邊 健康每一天
    服務(wù)在身邊 健康每一天
    招行30年:從“滿意服務(wù)”到“感動(dòng)服務(wù)”
    商周刊(2017年9期)2017-08-22 02:57:56
    關(guān)注用戶
    商用汽車(2016年11期)2016-12-19 01:20:16
    關(guān)注用戶
    商用汽車(2016年6期)2016-06-29 09:18:54
    關(guān)注用戶
    商用汽車(2016年4期)2016-05-09 01:23:12
    Camera360:拍出5億用戶
    日本熟妇午夜| 久久这里只有精品中国| 久久久精品欧美日韩精品| 免费观看的影片在线观看| 成熟少妇高潮喷水视频| 国产熟女xx| 欧美一区二区精品小视频在线| 91麻豆精品激情在线观看国产| av在线天堂中文字幕| 成人性生交大片免费视频hd| 亚洲在线观看片| 久久国产精品影院| 欧美午夜高清在线| 一边摸一边抽搐一进一小说| www.熟女人妻精品国产| 午夜两性在线视频| 精品乱码久久久久久99久播| 桃红色精品国产亚洲av| 成人亚洲精品av一区二区| 一二三四社区在线视频社区8| 国产精品久久久久久人妻精品电影| 欧美色欧美亚洲另类二区| 免费一级毛片在线播放高清视频| 一区二区三区高清视频在线| 日本精品一区二区三区蜜桃| 最后的刺客免费高清国语| 日本三级黄在线观看| 熟妇人妻久久中文字幕3abv| av国产免费在线观看| 免费大片18禁| 午夜福利成人在线免费观看| 老司机深夜福利视频在线观看| 精品人妻1区二区| 天堂动漫精品| 精品欧美国产一区二区三| 中文在线观看免费www的网站| 婷婷亚洲欧美| 久久精品国产清高在天天线| 欧美成狂野欧美在线观看| 尤物成人国产欧美一区二区三区| 亚洲中文字幕日韩| 久久久久久久久久黄片| av女优亚洲男人天堂| 亚洲人成网站高清观看| 久久久久久九九精品二区国产| 国产高清视频在线观看网站| 亚洲成人久久爱视频| 怎么达到女性高潮| 日韩精品青青久久久久久| 亚洲国产欧美人成| 三级毛片av免费| 国产精品电影一区二区三区| 波多野结衣高清无吗| 色哟哟·www| 国产欧美日韩一区二区精品| 欧美最黄视频在线播放免费| 好男人电影高清在线观看| 亚洲国产欧洲综合997久久,| 日韩 亚洲 欧美在线| 啦啦啦观看免费观看视频高清| 久久精品91蜜桃| 97超视频在线观看视频| 可以在线观看的亚洲视频| 啦啦啦韩国在线观看视频| 不卡一级毛片| 亚洲av电影在线进入| 中文字幕精品亚洲无线码一区| 天堂av国产一区二区熟女人妻| 亚洲专区中文字幕在线| 日本免费a在线| 最新在线观看一区二区三区| 看十八女毛片水多多多| 亚洲,欧美精品.| 俺也久久电影网| 观看免费一级毛片| 老熟妇仑乱视频hdxx| 国产黄a三级三级三级人| 亚洲国产色片| 成人精品一区二区免费| 日本成人三级电影网站| 男人舔奶头视频| 少妇熟女aⅴ在线视频| 国产精品人妻久久久久久| 成人国产综合亚洲| 精品不卡国产一区二区三区| 欧美日韩黄片免| 日韩精品青青久久久久久| 婷婷六月久久综合丁香| 欧美精品国产亚洲| 搡老妇女老女人老熟妇| 亚洲成av人片免费观看| 亚洲人成伊人成综合网2020| 91麻豆av在线| 天堂网av新在线| 成人精品一区二区免费| 在线天堂最新版资源| 美女大奶头视频| 一区二区三区四区激情视频 | .国产精品久久| 男女做爰动态图高潮gif福利片| 男女视频在线观看网站免费| 国内精品久久久久精免费| 永久网站在线| 中文字幕人成人乱码亚洲影| 长腿黑丝高跟| 日本一二三区视频观看| 欧美成人免费av一区二区三区| 波多野结衣巨乳人妻| 国产精品一区二区性色av| 色综合亚洲欧美另类图片| 成年女人永久免费观看视频| 麻豆成人午夜福利视频| 免费在线观看日本一区| 小蜜桃在线观看免费完整版高清| 久久香蕉精品热| 精品久久久久久久久亚洲 | 色哟哟·www| 日韩亚洲欧美综合| 精品99又大又爽又粗少妇毛片 | a级一级毛片免费在线观看| 中文字幕高清在线视频| 看十八女毛片水多多多| 成年女人看的毛片在线观看| 亚洲电影在线观看av| 亚洲美女黄片视频| 国产三级黄色录像| 男人的好看免费观看在线视频| 中出人妻视频一区二区| 免费一级毛片在线播放高清视频| 精品不卡国产一区二区三区| 搡老岳熟女国产| 欧美一区二区国产精品久久精品| 精品久久久久久久末码| xxxwww97欧美| 窝窝影院91人妻| 九九在线视频观看精品| 亚洲成人中文字幕在线播放| 国产精品三级大全| 在线看三级毛片| 波多野结衣高清无吗| 有码 亚洲区| 欧美丝袜亚洲另类 | 91字幕亚洲| 丰满乱子伦码专区| 亚洲久久久久久中文字幕| av天堂中文字幕网| 国产精品免费一区二区三区在线| 99热6这里只有精品| 日本熟妇午夜| 亚洲内射少妇av| 日本黄色片子视频| 日本黄色视频三级网站网址| 亚洲国产欧美人成| 欧美国产日韩亚洲一区| 亚洲一区二区三区色噜噜| 我要看日韩黄色一级片| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 日韩欧美免费精品| 久久久久久久亚洲中文字幕 | 精品久久久久久成人av| 亚洲 国产 在线| 国内毛片毛片毛片毛片毛片| 久久久精品大字幕| 日韩精品青青久久久久久| 岛国在线免费视频观看| 午夜精品一区二区三区免费看| 日韩精品青青久久久久久| 欧美激情在线99| 国产精品永久免费网站| 精品人妻偷拍中文字幕| 69av精品久久久久久| 观看免费一级毛片| 精华霜和精华液先用哪个| 久久久久国内视频| 一本综合久久免费| АⅤ资源中文在线天堂| 欧美极品一区二区三区四区| 日本免费一区二区三区高清不卡| 国产精品久久久久久人妻精品电影| 天堂网av新在线| 国产午夜精品久久久久久一区二区三区 | 十八禁国产超污无遮挡网站| 村上凉子中文字幕在线| 好男人在线观看高清免费视频| 国产精品亚洲美女久久久| 国产伦精品一区二区三区视频9| 久9热在线精品视频| 欧美高清成人免费视频www| 久久亚洲精品不卡| 亚洲人成伊人成综合网2020| 亚洲第一区二区三区不卡| 极品教师在线免费播放| 99热这里只有是精品50| 午夜福利欧美成人| 国产中年淑女户外野战色| 亚洲av五月六月丁香网| 90打野战视频偷拍视频| 国产aⅴ精品一区二区三区波| 神马国产精品三级电影在线观看| 午夜免费激情av| 欧美日本视频| 十八禁网站免费在线| 99久国产av精品| 亚洲国产日韩欧美精品在线观看| 熟女电影av网| 999久久久精品免费观看国产| 2021天堂中文幕一二区在线观| 在线免费观看的www视频| 99久久无色码亚洲精品果冻| 99热这里只有精品一区| 亚洲国产精品合色在线| 精华霜和精华液先用哪个| 91在线精品国自产拍蜜月| 又爽又黄无遮挡网站| 99国产精品一区二区三区| 男人舔奶头视频| 黄色视频,在线免费观看| 99久久精品国产亚洲精品| 免费av观看视频| 亚洲精品亚洲一区二区| 国产精品爽爽va在线观看网站| 老司机午夜十八禁免费视频| 成人永久免费在线观看视频| 亚洲国产精品999在线| 天天躁日日操中文字幕| 波多野结衣巨乳人妻| 久久精品国产亚洲av香蕉五月| 非洲黑人性xxxx精品又粗又长| 三级男女做爰猛烈吃奶摸视频| 久久久久久久午夜电影| 成人美女网站在线观看视频| 亚洲片人在线观看| 成年免费大片在线观看| 又粗又爽又猛毛片免费看| 免费搜索国产男女视频| 赤兔流量卡办理| 免费av毛片视频| 久久99热6这里只有精品| 国产亚洲精品久久久久久毛片| 黄色视频,在线免费观看| 男女那种视频在线观看| 国产主播在线观看一区二区| 美女高潮的动态| 身体一侧抽搐| 中国美女看黄片| 日日摸夜夜添夜夜添av毛片 | 丝袜美腿在线中文| 搡老熟女国产l中国老女人| 日本精品一区二区三区蜜桃| 久久精品国产亚洲av天美| av中文乱码字幕在线| 18禁裸乳无遮挡免费网站照片| 91狼人影院| АⅤ资源中文在线天堂| 日韩欧美国产在线观看| 亚洲成人精品中文字幕电影| 日韩亚洲欧美综合| 亚洲电影在线观看av| 成人午夜高清在线视频| 欧美激情国产日韩精品一区| 嫩草影院精品99| 观看免费一级毛片| 他把我摸到了高潮在线观看| 亚洲avbb在线观看| 亚洲国产精品999在线| 精品人妻熟女av久视频| 亚洲中文字幕一区二区三区有码在线看| 欧美成人性av电影在线观看| 中文资源天堂在线| 少妇的逼好多水| 99久久成人亚洲精品观看| 亚洲真实伦在线观看| 青草久久国产| 国产亚洲精品久久久久久毛片| 亚洲av第一区精品v没综合| 午夜视频国产福利| 国产成年人精品一区二区| 午夜福利成人在线免费观看| 91av网一区二区| 日韩 亚洲 欧美在线| 亚洲国产高清在线一区二区三| 51午夜福利影视在线观看| 亚洲中文日韩欧美视频| 麻豆国产97在线/欧美| 国产精品永久免费网站| 国产不卡一卡二| 亚洲人成伊人成综合网2020| 久久久久久九九精品二区国产| 十八禁人妻一区二区| 淫妇啪啪啪对白视频| 欧美日本亚洲视频在线播放| 国产成人aa在线观看| 国产视频一区二区在线看| av视频在线观看入口| 中文字幕高清在线视频| 国产一区二区激情短视频| 观看免费一级毛片| 国产精品久久久久久精品电影| 国产成人av教育| 不卡一级毛片| 久久久色成人| 永久网站在线| 一本一本综合久久| 亚洲精品在线美女| 一本久久中文字幕| 国产精品亚洲一级av第二区| 国产精品久久久久久人妻精品电影| 韩国av一区二区三区四区| 美女高潮喷水抽搐中文字幕| 亚洲天堂国产精品一区在线| avwww免费| 国产精品伦人一区二区| 欧美日本亚洲视频在线播放| 日本黄色片子视频| 国产午夜精品久久久久久一区二区三区 | 此物有八面人人有两片| 三级毛片av免费| 国产极品精品免费视频能看的| 男女视频在线观看网站免费| 国产探花极品一区二区| 天美传媒精品一区二区| 搞女人的毛片| 国产精品爽爽va在线观看网站| 国产精品电影一区二区三区| 精品久久国产蜜桃| 国产精品电影一区二区三区| 国产一区二区激情短视频| 淫妇啪啪啪对白视频| 国产91精品成人一区二区三区| 国产成人啪精品午夜网站| 亚洲成人中文字幕在线播放| 精品午夜福利视频在线观看一区| av国产免费在线观看| 日本撒尿小便嘘嘘汇集6| 久久国产精品影院| 有码 亚洲区| 美女高潮的动态| 国产免费男女视频| 色综合亚洲欧美另类图片| 国产精品美女特级片免费视频播放器| 亚洲成av人片在线播放无| 国产不卡一卡二| 欧美zozozo另类| 一本精品99久久精品77| 神马国产精品三级电影在线观看| 久久久久国内视频| 日韩欧美在线乱码| 国产大屁股一区二区在线视频| 黄色丝袜av网址大全| 亚洲电影在线观看av| 高清日韩中文字幕在线| 欧美黄色淫秽网站| 麻豆成人av在线观看| 免费看美女性在线毛片视频| 又黄又爽又刺激的免费视频.| 国产三级在线视频| 中亚洲国语对白在线视频| 午夜免费男女啪啪视频观看 | 国产美女午夜福利| 国产精品国产高清国产av| 有码 亚洲区| 真实男女啪啪啪动态图| 日韩欧美精品v在线| 国产欧美日韩一区二区精品| 99久久99久久久精品蜜桃| 精品乱码久久久久久99久播| 中文字幕精品亚洲无线码一区| 欧美激情国产日韩精品一区| 2021天堂中文幕一二区在线观| 亚洲五月婷婷丁香| 看片在线看免费视频| 欧美在线黄色| 亚洲人与动物交配视频| 一级黄色大片毛片| 国产高清激情床上av| 国产精品久久视频播放| 亚洲va日本ⅴa欧美va伊人久久| 久久久久久久久久黄片| 又爽又黄无遮挡网站| 欧美一区二区精品小视频在线| 99riav亚洲国产免费| 国产熟女xx| 国产国拍精品亚洲av在线观看| 欧美日韩亚洲国产一区二区在线观看| 日日摸夜夜添夜夜添av毛片 | 五月伊人婷婷丁香| 国产欧美日韩一区二区精品| 757午夜福利合集在线观看| 欧美一区二区国产精品久久精品| 精品久久久久久成人av| 大型黄色视频在线免费观看| 天天躁日日操中文字幕| 午夜日韩欧美国产| 99热只有精品国产| 亚洲avbb在线观看| 人人妻人人澡欧美一区二区| 99riav亚洲国产免费| 亚洲成av人片在线播放无| 亚州av有码| 一卡2卡三卡四卡精品乱码亚洲| 国产乱人伦免费视频| 黄片小视频在线播放| 亚洲黑人精品在线| 国内精品久久久久久久电影| 757午夜福利合集在线观看| 小说图片视频综合网站| 久久中文看片网| 99热6这里只有精品| 欧美日韩瑟瑟在线播放| 在线免费观看的www视频| 成人鲁丝片一二三区免费| 国产精品一区二区性色av| 男女视频在线观看网站免费| 99久久99久久久精品蜜桃| 国产成年人精品一区二区| 亚洲男人的天堂狠狠| 最好的美女福利视频网| 成人av在线播放网站| 又紧又爽又黄一区二区| 国内毛片毛片毛片毛片毛片| 窝窝影院91人妻| 国产精品,欧美在线| 成熟少妇高潮喷水视频| 午夜免费成人在线视频| 最近在线观看免费完整版| 国产精品1区2区在线观看.| av在线天堂中文字幕| 成人一区二区视频在线观看| 热99在线观看视频| 久久99热6这里只有精品| 12—13女人毛片做爰片一| 日本免费a在线| 看免费av毛片| 嫩草影视91久久| 天美传媒精品一区二区| av在线老鸭窝| 中文字幕av成人在线电影| 国产精品久久久久久人妻精品电影| 免费在线观看日本一区| 久久国产乱子免费精品| 国产美女午夜福利| 亚洲成人免费电影在线观看| 欧美黑人巨大hd| 伊人久久精品亚洲午夜| 我要看日韩黄色一级片| 国产精品电影一区二区三区| 美女黄网站色视频| 亚洲不卡免费看| 欧美最新免费一区二区三区 | 国产高清有码在线观看视频| 看免费av毛片| 日韩欧美一区二区三区在线观看| 97超级碰碰碰精品色视频在线观看| 国产极品精品免费视频能看的| 国产黄色小视频在线观看| 啦啦啦韩国在线观看视频| 国产精品,欧美在线| 欧美极品一区二区三区四区| 又粗又爽又猛毛片免费看| a在线观看视频网站| 免费看光身美女| 亚洲无线在线观看| 级片在线观看| 精华霜和精华液先用哪个| 老司机午夜十八禁免费视频| 国产高潮美女av| 久久午夜福利片| 在线播放无遮挡| 欧美日韩中文字幕国产精品一区二区三区| 国产精品一区二区免费欧美| av国产免费在线观看| 欧美黄色淫秽网站| 亚洲真实伦在线观看| 久久草成人影院| 亚洲av.av天堂| a级一级毛片免费在线观看| 免费观看人在逋| 婷婷精品国产亚洲av| 国产亚洲精品久久久com| 男人舔奶头视频| 成人亚洲精品av一区二区| 99热只有精品国产| 91九色精品人成在线观看| 久久久久久久精品吃奶| 日本黄大片高清| 两人在一起打扑克的视频| 色噜噜av男人的天堂激情| 男女那种视频在线观看| 极品教师在线免费播放| 婷婷精品国产亚洲av| 别揉我奶头~嗯~啊~动态视频| 欧美日本亚洲视频在线播放| 日韩欧美国产在线观看| 亚洲最大成人av| 亚洲av二区三区四区| av女优亚洲男人天堂| 深夜a级毛片| 国产又黄又爽又无遮挡在线| 亚洲狠狠婷婷综合久久图片| 欧美最新免费一区二区三区 | 中文亚洲av片在线观看爽| 热99re8久久精品国产| 亚洲精品成人久久久久久| 最近最新中文字幕大全电影3| 露出奶头的视频| 国产精品国产高清国产av| 久久久色成人| 亚洲国产精品999在线| 乱码一卡2卡4卡精品| 一个人免费在线观看的高清视频| .国产精品久久| 18禁黄网站禁片午夜丰满| 久久精品久久久久久噜噜老黄 | 99久久久亚洲精品蜜臀av| 麻豆av噜噜一区二区三区| 日韩欧美一区二区三区在线观看| 看黄色毛片网站| 欧美成人a在线观看| 午夜福利高清视频| 国产精品久久电影中文字幕| 麻豆国产97在线/欧美| 久久精品国产亚洲av涩爱 | 国产精品影院久久| av黄色大香蕉| 国产精品精品国产色婷婷| 精品不卡国产一区二区三区| 久久久久性生活片| 丰满的人妻完整版| 午夜免费男女啪啪视频观看 | 人人妻,人人澡人人爽秒播| 欧美国产日韩亚洲一区| 亚洲av电影在线进入| 免费无遮挡裸体视频| 99精品久久久久人妻精品| 日韩人妻高清精品专区| 很黄的视频免费| 欧美在线黄色| 免费人成在线观看视频色| av在线天堂中文字幕| 99国产精品一区二区三区| 欧美在线一区亚洲| 两个人的视频大全免费| 中文字幕免费在线视频6| 国产一区二区激情短视频| 国产白丝娇喘喷水9色精品| 成人性生交大片免费视频hd| 国内揄拍国产精品人妻在线| 看片在线看免费视频| 欧美日韩国产亚洲二区| 俺也久久电影网| 午夜福利在线在线| 天堂影院成人在线观看| 美女xxoo啪啪120秒动态图 | 国产视频内射| 黄片小视频在线播放| 欧美乱色亚洲激情| 麻豆国产av国片精品| 美女免费视频网站| 美女被艹到高潮喷水动态| 久久亚洲真实| 午夜福利在线在线| 久久国产精品人妻蜜桃| 超碰av人人做人人爽久久| 日本黄大片高清| 色av中文字幕| 欧美一区二区国产精品久久精品| 在线a可以看的网站| 99热这里只有是精品在线观看 | 久久久久久久久中文| 18美女黄网站色大片免费观看| 人人妻,人人澡人人爽秒播| 观看免费一级毛片| 亚洲av第一区精品v没综合| 国产精品一区二区性色av| 亚洲avbb在线观看| 日本精品一区二区三区蜜桃| 欧美激情久久久久久爽电影| 狂野欧美白嫩少妇大欣赏| 国产欧美日韩一区二区三| 亚洲无线观看免费| 久久午夜亚洲精品久久| 久久精品久久久久久噜噜老黄 | 嫩草影视91久久| 乱码一卡2卡4卡精品| 男女之事视频高清在线观看| 欧美一区二区精品小视频在线| 直男gayav资源| 国内毛片毛片毛片毛片毛片| 免费在线观看影片大全网站| 精品99又大又爽又粗少妇毛片 | 免费在线观看成人毛片| 色吧在线观看| 成人高潮视频无遮挡免费网站| 欧美xxxx性猛交bbbb| 国产精品久久久久久精品电影| 欧美日韩国产亚洲二区| 麻豆成人午夜福利视频| 日韩欧美一区二区三区在线观看| 国产伦在线观看视频一区| 欧美乱妇无乱码| 久久精品夜夜夜夜夜久久蜜豆| 亚洲中文日韩欧美视频| 免费观看的影片在线观看| 精华霜和精华液先用哪个| 赤兔流量卡办理| 久久性视频一级片| 亚洲精品成人久久久久久| 久久久久久久久中文| 亚洲成av人片免费观看| 亚洲片人在线观看| 一本综合久久免费| 久久久色成人| 国产免费av片在线观看野外av| 熟妇人妻久久中文字幕3abv| 午夜精品久久久久久毛片777|