成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

成功實現(xiàn)邊緣編碼需要了解的六大經(jīng)驗教訓(xùn)

開發(fā)
我作為企業(yè)架構(gòu)師有與開發(fā)組織合作的經(jīng)驗,讓我告訴你創(chuàng)建邊緣應(yīng)用時的一些教訓(xùn)。牢記這些教訓(xùn)可以幫助你避免走彎路,并確保你充分利用邊緣所能提供的優(yōu)勢。

隨著企業(yè)急于獲得邊緣所能提供的低延遲、靈活性、成本和性能方面的好處,邊緣計算的需求正在急劇擴大。IDC估計,2022年全球在邊緣硬件、軟件和服務(wù)方面的支出將達到1760億美元,比上一年增長14.8%,到2025年將達到2740億美元。因此,你的開發(fā)者很可能現(xiàn)在就在開發(fā)邊緣應(yīng)用,或者在不久的將來會這樣做。

然而,在你深入研究之前,有一些事情需要考慮。我作為企業(yè)架構(gòu)師有與開發(fā)組織合作的經(jīng)驗,讓我告訴你創(chuàng)建邊緣應(yīng)用時的一些教訓(xùn)。牢記這些教訓(xùn)可以幫助你避免走彎路,并確保你充分利用邊緣所能提供的優(yōu)勢。

教訓(xùn)1:挑戰(zhàn)你的思維方式

很多時候,開發(fā)者在創(chuàng)建邊緣應(yīng)用時,就好像它們與數(shù)據(jù)中心或云端的應(yīng)用一樣。但邊緣是一個不同的范式,需要用不同的方法來編寫代碼,也需要用深思熟慮的方法來選擇適合邊緣的應(yīng)用。

大多數(shù)開發(fā)者習(xí)慣于集中式的計算環(huán)境,在少量的服務(wù)器中擁有大量的計算資源。但是,邊緣計算將這種情況翻轉(zhuǎn)過來,相對適度的資源分布在不同地點的許多服務(wù)器上。這可能會影響任何一個邊緣工作負載的可擴展性。例如,一個使用大量內(nèi)存的應(yīng)用程序可能無法在成百上千的邊緣實例中很好地擴展。由于這個原因,大多數(shù)邊緣應(yīng)用程序?qū)⑹菍iT為邊緣設(shè)計的,而不是從現(xiàn)有的數(shù)據(jù)中心或云部署中“提升和遷移”。

你需要認真思考邊緣架構(gòu)如何影響你的應(yīng)用,以及哪些應(yīng)用將從這種分布式方法中受益。把邏輯帶到數(shù)據(jù)所在的地方通常更容易。因此,如果數(shù)據(jù)更加區(qū)域化,或者需要訪問大型集中式數(shù)據(jù)存儲,基于云的方法可能是合理的。但是,當(dāng)一個應(yīng)用程序使用在邊緣產(chǎn)生的數(shù)據(jù)時--例如來自在線用戶的請求/響應(yīng)、cookies和頭信息--這就是邊緣計算真正可以大放異彩之處。

教訓(xùn)2:不要忽視基礎(chǔ)知識

雖然將代碼分布到邊緣可以改善延遲和可擴展性,但它不會神奇地運行得更快。低效的代碼在邊緣也會同樣低效。如前所述,邊緣的每個存在點都會比典型的集中式計算環(huán)境受到更多的資源限制,特別是在無服務(wù)器的邊緣環(huán)境中。在為邊緣編寫代碼時,優(yōu)化效率對于充分利用這種架構(gòu)至關(guān)重要。

當(dāng)向邊緣推送功能相對快速和容易時,你仍然需要向管理其它代碼那樣應(yīng)用勤奮的管理流程。這包括良好的變更管理流程,將代碼存儲在源代碼控制中,并使用代碼審查來評估代碼質(zhì)量。

教訓(xùn)3:重新思考可擴展性

在邊緣,你是在“擴大”而不是“增加”。因此,你需要開發(fā)代碼以適應(yīng)每個請求的約束,而不是從每個服務(wù)器的約束角度考慮。這包括對內(nèi)存用量、CPU周期和每次請求時間的約束。制約因素會因你所使用的邊緣平臺而不同,所以了解它們并相應(yīng)地設(shè)計你的代碼很重要。

一般來說,你想用每個操作所需的最小數(shù)據(jù)集來操作。例如,如果你在邊緣做A/B測試,你只想存儲你正在操作的特定請求或頁面所需的數(shù)據(jù)子集,而不是整個規(guī)則集。對于基于位置的體驗,你只需要在一個輕量級的查詢中保存該邊緣實例所服務(wù)的特定州或地區(qū)的數(shù)據(jù),而不是所有地區(qū)的數(shù)據(jù)。

教訓(xùn)4:為可靠性編碼

確保邊緣應(yīng)用程序的可靠性對于提供積極的用戶體驗是絕對必要的。請確保在你的QA計劃中包括測試邊緣代碼。添加適當(dāng)?shù)腻e誤處理也很重要,以確保你的代碼能夠優(yōu)雅地處理錯誤,包括計劃和測試事件發(fā)生時的回退行為。例如,如果你的代碼超出了平臺的限制,要創(chuàng)建一個回退到一些默認的內(nèi)容,這樣用戶就不會收到一個影響他們體驗的錯誤信息。

進行分布式負載測試是一個很好的做法,可以確認你的應(yīng)用程序的可擴展性。一旦你部署了代碼,就繼續(xù)監(jiān)測平臺,以確保不超過CPU和內(nèi)存的限制,并跟蹤任何錯誤。

教訓(xùn)5:優(yōu)化性能

邊緣計算的主要好處是通過將數(shù)據(jù)和計算資源移至用戶附近而大幅減少延遲。當(dāng)你在成百上千個存在點(PoPs)上進行擴展時,創(chuàng)建輕量級、高效的代碼對于實現(xiàn)這一好處至關(guān)重要。完成一個功能所需的數(shù)據(jù)也應(yīng)該在邊緣。開發(fā)需要從集中式數(shù)據(jù)存儲中獲取數(shù)據(jù)的代碼會抹去邊緣提供的延遲優(yōu)勢。

對高效執(zhí)行的強調(diào)同樣適用于邊緣應(yīng)用所利用的任何第三方代碼。一些現(xiàn)有的代碼庫是低效的,損害了性能或超過了邊緣平臺的CPU和內(nèi)存限制。因此,在將任何代碼納入邊緣部署之前,要仔細評估它。

教訓(xùn)6:不要重復(fù)造輪子

雖然邊緣是一種新的模式,但這并不意味著你必須從頭開始編寫一切。大多數(shù)邊緣平臺都與各種內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)功能集成,允許你創(chuàng)建自定義邏輯,生成一個輸出信號,提示現(xiàn)有的CDN功能,如緩存。

把你的代碼設(shè)計成可重用的也是一個好主意,這樣它既可以在邊緣也可以在集中的計算環(huán)境中執(zhí)行。將核心功能抽象為不依賴瀏覽器、Node.JS或特定平臺功能的庫,可以使代碼具有“同構(gòu)性”,能夠在客戶端、服務(wù)器和邊緣運行。

使用現(xiàn)有的開源庫是避免重寫通用功能的另一種方式。但要注意那些需要Node.JS或瀏覽器功能的庫。并考慮與你正在使用的邊緣平臺集成的第三方開發(fā)商合作,這可以節(jié)省時間和精力,同時提供成熟的互操作性優(yōu)勢。

將這些經(jīng)驗付諸實踐

為了說明這些最佳實踐的影響,請考慮一個真實的案例:一個組織在邊緣實施地理圍欄應(yīng)用時遇到了困難。他們遇到了因超過平臺的CPU和內(nèi)存限制而導(dǎo)致的高錯誤率問題。

看看他們是如何建立自己的應(yīng)用程序的,他們有所有地理圍欄區(qū)域的數(shù)據(jù),900KB的JSON,存儲在每個邊緣PoP中。使用一個CPU密集型算法來檢查每個地理圍欄的興趣點,當(dāng)在檢查前幾個區(qū)域沒有找到興趣點時,就會觸發(fā)CPU超時。

為了解決這個問題,每個地理圍欄區(qū)域的數(shù)據(jù)被轉(zhuǎn)移到一個鍵值存儲(KVS)中,每個區(qū)域存儲在一個單獨的條目中。增加了一個輕量級的檢查,以確定一個興趣點的可能的“候選區(qū)域”(通常是1到3個候選區(qū)域)。完整的數(shù)據(jù)和CPU密集型檢查只在候選區(qū)域進行,極大地減少了CPU的工作量。這些變化將錯誤率降低到可忽略的水平,同時改善了初始化時間并減少了內(nèi)存的使用,如下圖所示。

圖1:成功率和錯誤率的前后對比(注意,成功和錯誤指標(biāo)的尺度不同,因此不能直接比較)。

圖2:初始化時間的前后比較

圖3:之前和之后的內(nèi)存使用情況比較(圖片來源:Akamai)

充分發(fā)揮邊緣的作用

邊緣計算為貼近用戶、快速高效地提供個性化用戶體驗的應(yīng)用程序提供了巨大的優(yōu)勢。成功的關(guān)鍵是確保應(yīng)用程序是一個很好的邊緣平臺候選者,然后優(yōu)化你的代碼,以充分利用邊緣平臺的功能,同時在其限制條件下工作。

請注意我在與組織合作中所學(xué)到的經(jīng)驗教訓(xùn),你可以以更快的速度獲得邊緣的優(yōu)勢,且沒有令人頭疼的問題。

責(zé)任編輯:趙寧寧 來源: ITPUB
相關(guān)推薦

2020-11-06 11:16:07

網(wǎng)絡(luò)安全安全威脅網(wǎng)絡(luò)攻擊

2023-03-29 10:21:23

2015-08-17 13:11:44

大數(shù)據(jù)

2019-05-07 09:51:20

軟件工程師開發(fā)代碼

2021-08-10 08:18:29

工控安全網(wǎng)絡(luò)攻擊ICS攻擊

2024-12-10 12:34:07

2019-07-05 10:24:33

云計算技術(shù)開發(fā)

2010-10-19 14:57:25

谷歌云計算

2012-08-20 10:36:06

2025-06-13 07:00:00

2024-12-11 08:43:45

2018-04-12 11:42:48

混合云

2018-04-11 11:00:56

混合云云安全數(shù)據(jù)

2021-08-12 14:31:52

邊緣計算云計算數(shù)據(jù)

2021-02-02 08:00:00

邊緣計算云計算公有云

2020-02-12 10:23:54

云遷移云計算

2020-01-14 11:17:33

Go并發(fā)Linux

2012-03-05 13:08:35

編程

2011-08-05 09:57:40

Windows 7教訓(xùn)

2016-02-24 09:41:44

IT人士經(jīng)驗教訓(xùn)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 一久久久 | 一区二区三区四区不卡 | 粉嫩一区二区三区国产精品 | 国产精品一区二区欧美 | 日韩欧美国产精品 | 国产视频中文字幕在线观看 | 欧美国产日本一区 | 日韩三区| 精品欧美一区二区精品久久久 | 成人av网站在线观看 | 日本三级日产三级国产三级 | 久久精品网 | 日韩精品一区二区三区免费观看 | 欧美精品一区三区 | 亚洲精品在线视频 | 欧美国产日韩在线观看 | 欧美日韩综合精品 | 99精品国产一区二区三区 | 国产精品免费一区二区三区四区 | 国产精品一卡二卡三卡 | 色精品| 视频在线一区 | 亚洲a视频 | 91久久久久久 | 在线看片国产 | 九九九色 | 狠狠av | 视频精品一区二区三区 | 国产主播第一页 | 97国产在线视频 | 色就干 | 97精品超碰一区二区三区 | 久久久久久久久久久久久久久久久久久久 | 色综合色综合网色综合 | 成人黄色三级毛片 | 欧美一区二区在线 | 久久久久久黄 | 天天色综网 | 精产国产伦理一二三区 | 国产一区二区三区在线视频 | 一级毛片在线播放 |