0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

穩(wěn)健的無服務(wù)器架構(gòu)的實(shí)現(xiàn)

汽車玩家 ? 來源:今日頭條 ? 作者:聞數(shù)起舞 ? 2020-05-03 18:26 ? 次閱讀

如果設(shè)計(jì)不當(dāng),一切都會(huì)有怪癖

無服務(wù)器是業(yè)界最新的流行語之一-但是,就像技術(shù)上的任何事物一樣,如果設(shè)置不正確,您的開發(fā)投資可能像紙牌屋一樣崩潰。

現(xiàn)在,所有主要的云播放器都提供某種無服務(wù)器架構(gòu)支持-帶有Lambda的AWS,帶有云功能的Google和帶有Azure功能的Microsoft。 還設(shè)計(jì)和創(chuàng)建了開源的免費(fèi)Serverless框架,以幫助開發(fā)人員自動(dòng)化其流程并創(chuàng)建更好的無服務(wù)器代碼。

無服務(wù)器背后的理由是,它是事件驅(qū)動(dòng)的,具有自動(dòng)擴(kuò)展的能力,而無需基礎(chǔ)架構(gòu)的設(shè)置或干預(yù)。 但是,人們經(jīng)常問的一個(gè)問題是:健壯的無服務(wù)器架構(gòu)是什么樣的?

整合,隔離和事件驅(qū)動(dòng)

很容易陷入為任何可能的事情編寫函數(shù)的陷阱。 對(duì)于無服務(wù)器,很容易啟動(dòng)執(zhí)行工作的功能。 可以通過自動(dòng)計(jì)時(shí)作業(yè)激活該作業(yè),可以通過網(wǎng)關(guān),數(shù)據(jù)更改和代碼管道活動(dòng)來觸發(fā)該作業(yè)。

盡管這對(duì)于孤立的案例來說聽起來很棒,但是在無服務(wù)器環(huán)境中的大型應(yīng)用程序要求架構(gòu)師將整個(gè)預(yù)期事件和設(shè)計(jì)功能視為一個(gè)模塊化網(wǎng)絡(luò)

在某種程度上,以無服務(wù)器方式構(gòu)建應(yīng)用程序是一種解構(gòu)的軟件開發(fā)方法。 它可以部分啟動(dòng)而無需依賴,并提供快速的問題解決方案。

健壯的無服務(wù)器架構(gòu)強(qiáng)制執(zhí)行一定的代碼壓縮和模塊化,以最大程度地減少相互依賴性。 它的無狀態(tài)性使功能彼此斷開,并且持久性數(shù)據(jù)源成為真實(shí)性的唯一空間。

如果發(fā)生故障,鏈接功能會(huì)導(dǎo)致串行多米諾骨牌效應(yīng)。 對(duì)功能之間的關(guān)系采用并行方法可減輕這種風(fēng)險(xiǎn)。

看下面的圖,例如:

穩(wěn)健的無服務(wù)器架構(gòu)的實(shí)現(xiàn)

Serial serverless approach

上面的流程是默認(rèn)的,我們中的一些人在創(chuàng)建無服務(wù)器代碼時(shí)可能會(huì)陷入其中。 這是因?yàn)樵趥鹘y(tǒng)的依賴注入模型中,一個(gè)函數(shù)觸發(fā)另一個(gè)函數(shù)很容易想到。 如果要求合理,我們可以遞歸進(jìn)行。 但是,當(dāng)將其應(yīng)用于無服務(wù)器應(yīng)用程序時(shí),流程中斷最終會(huì)導(dǎo)致沒有應(yīng)急計(jì)劃的結(jié)果中斷。

這是因?yàn)榇蟹椒ú荒軡M足每個(gè)功能真正獨(dú)立的需要。 上述方法的觸發(fā)器是調(diào)用另一個(gè)的無服務(wù)器功能,這意味著它有可能沿管道傳遞數(shù)據(jù)而無需驗(yàn)證或進(jìn)行適當(dāng)?shù)臓顟B(tài)管理。

看下圖。 它具有相同的三個(gè)無服務(wù)器功能,但它們通過有狀態(tài)觸發(fā)器相互連接。

穩(wěn)健的無服務(wù)器架構(gòu)的實(shí)現(xiàn)

Parallel Serverless approach

這種方法可能看起來更復(fù)雜,但是如果您查看潛在的斷點(diǎn)在哪里,它們是基于觸發(fā)器而不是函數(shù)。

實(shí)施遞歸時(shí),觸發(fā)器基于持久性內(nèi)容,而不是可能會(huì)丟失輸出的臨時(shí)空間。

該體系結(jié)構(gòu)還允許運(yùn)行多個(gè)代碼。 無服務(wù)器及其相關(guān)的無表數(shù)據(jù)存儲(chǔ)很便宜。 在某種程度上,這是因?yàn)樗某跏荚O(shè)計(jì)是為了大量使用。

雖然第一個(gè)圖一次運(yùn)行一個(gè)功能以觸發(fā)另一個(gè)功能,因此似乎使用了較少的計(jì)算能力,但第二個(gè)圖允許兩個(gè)功能以隔離的方式運(yùn)行,但仍通過數(shù)據(jù)觸發(fā)器保持連接。

對(duì)于健壯的無服務(wù)器架構(gòu),代碼的結(jié)構(gòu)取決于開發(fā)人員為更大的視圖創(chuàng)建隔離的解決方案的能力。 該代碼本質(zhì)上通常是功能性的,因?yàn)榭芍赜眯匀Q于其處理數(shù)據(jù)的能力而無需基于類的藍(lán)圖。

針對(duì)大型軟件的健壯的無服務(wù)器架構(gòu)會(huì)考慮潛在的中斷和可能丟失數(shù)據(jù)的位置。 通過圍繞永久性集中觸發(fā)器,它解決了此問題,并降低了由于無服務(wù)器的短暫性而導(dǎo)致的風(fēng)險(xiǎn)。

功能并行是可用于健壯的無服務(wù)器體系結(jié)構(gòu)的體系結(jié)構(gòu)方法之一。 關(guān)于觸發(fā)器,實(shí)現(xiàn)永久性是數(shù)據(jù)保護(hù)和驗(yàn)證的一種好習(xí)慣。 這也是處理無服務(wù)器預(yù)期的無狀態(tài)性的一種方法。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Google
    +關(guān)注

    關(guān)注

    5

    文章

    1771

    瀏覽量

    57709
  • 無服務(wù)器
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    4082
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    負(fù)載均衡服務(wù)器服務(wù)器如何連接?

    負(fù)載均衡服務(wù)器服務(wù)器如何連接?負(fù)載均衡服務(wù)器服務(wù)器可通過多種方式連接,包括直接連接、交換機(jī)連接、路由連接以及云計(jì)算環(huán)境中的連接。小型網(wǎng)
    的頭像 發(fā)表于 12-09 13:41 ?153次閱讀

    SSR與傳統(tǒng)服務(wù)器的對(duì)比分析

    隨著云計(jì)算技術(shù)的快速發(fā)展,Serverless架構(gòu)服務(wù)器架構(gòu))逐漸成為業(yè)界關(guān)注的焦點(diǎn)。其中,SSR(Serverless Stateful Resources,
    的頭像 發(fā)表于 11-18 11:22 ?360次閱讀

    GPU服務(wù)器AI網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)

    眾所周知,在大型模型訓(xùn)練中,通常采用每臺(tái)服務(wù)器配備多個(gè)GPU的集群架構(gòu)。在上一篇文章《高性能GPU服務(wù)器AI網(wǎng)絡(luò)架構(gòu)(上篇)》中,我們對(duì)GPU網(wǎng)絡(luò)中的核心術(shù)語與概念進(jìn)行了詳盡介紹。本文
    的頭像 發(fā)表于 11-05 16:20 ?566次閱讀
    GPU<b class='flag-5'>服務(wù)器</b>AI網(wǎng)絡(luò)<b class='flag-5'>架構(gòu)</b>設(shè)計(jì)

    獨(dú)立服務(wù)器與云服務(wù)器的區(qū)別

    隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,企業(yè)對(duì)于服務(wù)器的需求日益增加,而服務(wù)器市場(chǎng)也隨之出現(xiàn)了多種類型的產(chǎn)品,其中最常見的是獨(dú)立服務(wù)器和云服務(wù)器。這兩種服務(wù)器
    的頭像 發(fā)表于 10-12 14:34 ?313次閱讀

    新加坡服務(wù)器如何實(shí)現(xiàn)免備案?

     新加坡服務(wù)器的免備案特性主要得益于其地理位置、網(wǎng)絡(luò)架構(gòu)以及政策環(huán)境。以下是對(duì)新加坡服務(wù)器實(shí)現(xiàn)免備案的具體原因分析,rak小編為您整理發(fā)布。
    的頭像 發(fā)表于 09-24 10:26 ?175次閱讀

    基于高通主板的ARM架構(gòu)服務(wù)器

    一、ARM架構(gòu)服務(wù)器的崛起 (一)市場(chǎng)需求推動(dòng) 消費(fèi)市場(chǎng)寒冬,全球消費(fèi)電子需求下行,服務(wù)器成半導(dǎo)體核心動(dòng)力之一。Arm 加速布局服務(wù)器領(lǐng)域,如 9 月推出 Neoverse V2。長(zhǎng)久
    的頭像 發(fā)表于 09-11 10:53 ?580次閱讀

    服務(wù)器而言,ARM架構(gòu)與X86架構(gòu)有什么區(qū)別?各自的優(yōu)勢(shì)在哪里?

    一、服務(wù)器架構(gòu)概述 在數(shù)字化時(shí)代,服務(wù)器架構(gòu)至關(guān)重要。服務(wù)器是網(wǎng)絡(luò)核心節(jié)點(diǎn),存儲(chǔ)、處理和提供數(shù)據(jù)與服務(wù)
    的頭像 發(fā)表于 09-09 14:05 ?1977次閱讀

    使用NS1串口服務(wù)器HTTP模式上傳服務(wù)器數(shù)據(jù)

    HTTP協(xié)議工作于客戶端-服務(wù)架構(gòu)之上。瀏覽作為HTTP客戶端通過URL向HTTP服務(wù)端即Web服務(wù)器發(fā)送所有請(qǐng)求。Web
    的頭像 發(fā)表于 08-30 12:36 ?457次閱讀
    使用NS1串口<b class='flag-5'>服務(wù)器</b>HTTP模式上傳<b class='flag-5'>服務(wù)器</b>數(shù)據(jù)

    GPU云服務(wù)器架構(gòu)解析及應(yīng)用優(yōu)勢(shì)

    GPU云服務(wù)器作為一種高性能計(jì)算資源,近年來在人工智能、大數(shù)據(jù)分析、圖形渲染等領(lǐng)域得到了廣泛應(yīng)用。它結(jié)合了云計(jì)算的靈活性與GPU的強(qiáng)大計(jì)算能力,為企業(yè)和個(gè)人用戶提供了一種高效、便捷的計(jì)算解決方案。下面我們將從架構(gòu)解析和技術(shù)優(yōu)勢(shì)兩個(gè)方面來詳細(xì)了解GPU云
    的頭像 發(fā)表于 08-14 09:43 ?452次閱讀

    gpu服務(wù)器與cpu服務(wù)器的區(qū)別對(duì)比,終于知道怎么選了!

    gpu服務(wù)器與cpu服務(wù)器的區(qū)別主要體現(xiàn)在架構(gòu)設(shè)計(jì)、性能特點(diǎn)、能耗效率、應(yīng)用場(chǎng)景、市場(chǎng)定位等方面,在以上幾個(gè)方面均存在顯著差異。CPU服務(wù)器更適合數(shù)據(jù)庫管理和企業(yè)應(yīng)用,而GPU
    的頭像 發(fā)表于 08-01 11:41 ?542次閱讀

    ai服務(wù)器是什么架構(gòu)類型

    AI服務(wù)器,即人工智能服務(wù)器,是專門為人工智能應(yīng)用設(shè)計(jì)的高性能計(jì)算服務(wù)器。AI服務(wù)器架構(gòu)類型有很多種,以下是一些常見的
    的頭像 發(fā)表于 07-02 09:51 ?1182次閱讀

    服務(wù)器和虛擬服務(wù)器的區(qū)別是什么

    服務(wù)器和虛擬服務(wù)器是兩種常見的服務(wù)器類型,它們?cè)诤芏喾矫嬗邢嗨浦帲灿幸恍╆P(guān)鍵的區(qū)別。本文將詳細(xì)介紹云服務(wù)器和虛擬服務(wù)器的區(qū)別,包括它
    的頭像 發(fā)表于 07-02 09:48 ?884次閱讀

    接口測(cè)試怎么測(cè)多個(gè)服務(wù)器連接

    行接口測(cè)試,包括測(cè)試策略、測(cè)試方法和測(cè)試工具。 1. 理解多服務(wù)器架構(gòu) 在開始接口測(cè)試之前,首先要了解多服務(wù)器架構(gòu)的基本概念。多服務(wù)器
    的頭像 發(fā)表于 05-30 15:16 ?453次閱讀

    華為云函數(shù)工作流:引領(lǐng)未來服務(wù)器計(jì)算時(shí)代

    在當(dāng)今數(shù)字化飛速發(fā)展的時(shí)代,企業(yè)和個(gè)人對(duì)于計(jì)算資源的需求越來越高,但傳統(tǒng)的服務(wù)器架構(gòu)帶來的管理成本和資源浪費(fèi)問題也愈發(fā)凸顯。為解決這一難題,華為云引領(lǐng)著服務(wù)器計(jì)算的浪潮,推出了函數(shù)工
    的頭像 發(fā)表于 05-27 10:50 ?390次閱讀
    華為云函數(shù)工作流:引領(lǐng)未來<b class='flag-5'>無</b><b class='flag-5'>服務(wù)器</b>計(jì)算時(shí)代

    linux服務(wù)器和windows服務(wù)器

    Linux服務(wù)器和Windows服務(wù)器是目前應(yīng)用最廣泛的兩種服務(wù)器操作系統(tǒng)。兩者各有優(yōu)劣,也適用于不同的應(yīng)用場(chǎng)景。本文將 對(duì)Linux服務(wù)器和Windows
    發(fā)表于 02-22 15:46