漫畫 | 一口氣搞懂 Serverless !Serverless關(guān)注共 3561字,需瀏覽 8分鐘 ·2021-09-26 22:05 呃,我可能是別人眼中所說的不用奮斗的一代。大家喜歡聽的什么多姿多彩的生活,我都經(jīng)歷過一些些。我家里開的是連鎖超市,主要集中在幾個二線城市。在我上小學的時候,各連鎖店里開始裝電腦,購置并安裝了完整的收銀設(shè)備。我爸說要向那些大的連鎖超市學習,提高生產(chǎn)效率。那個時候我對那些灰色界面的收銀軟件很感興趣,可惜爸媽不讓我碰。后來他們給我買了電腦,當時小鎮(zhèn)上有電腦的人家不多,親戚的小孩也常常跑到我這兒來玩電腦。也正由于和電腦接觸得早,上大學時就選了計算機專業(yè)。我才剛上大學沒幾個星期,我爸就問我:那個時候我連數(shù)據(jù)庫什么的都還沒有個概念,還在學反碼補碼,我告訴他:能,但現(xiàn)在不行,等我一兩年。我爸說不要緊。按照他的思維,我們不需要完全會寫,只要明白怎么寫出來就行,具體的實現(xiàn)我們可以交給軟件公司做。但搞明白軟件是怎么造出來的很重要,因為這能夠幫助我們在購置軟件時站在供應(yīng)商的角度思考,知己知彼,縮小我方信息差。做買賣本質(zhì)上玩的就是這一套。2005年,我大三,學校要搞一次軟件開發(fā)大賽,一共有三個命題,其實基本涵蓋了所有場景,學生可以自由發(fā)揮。于是我就想到了超市的收銀軟件。當時淘寶剛火起來,我想為啥不學習一下呢, 徹底革新我爸的商業(yè)模式,從線下轉(zhuǎn)到線上!整個網(wǎng)上商城, 瀏覽商品,購物車,下單,配送,但我們主要賣的是自己的貨源。當時用到的技術(shù)是 MySQL+ Java + JSP,然后自己買了服務(wù)器讓服務(wù)跑起來。在學校演示這套系統(tǒng)時,我拿了最高的成績。滿心歡喜之余,我嘗試把這套系統(tǒng)用到實際業(yè)務(wù)中,先從自家的總店開始試點。沒想到我爸給我潑了一盆冷水,他說我們這里的用戶沒有上網(wǎng)購物的習慣,送貨問題沒法解決。我不服,非要嘗試,果然理想與現(xiàn)實間存在著巨大的差異,我跌了一個大跟頭。雖然我搞了很多活動,發(fā)傳單宣傳商城,但真正上網(wǎng)購物的寥寥無幾。有些愿意嘗鮮的,在網(wǎng)上買了東西,都是我親自開車送貨的。畢業(yè)回家,我本想出國留學,但被我爸拽了回來, 我先跟著信息部的負責人老張學習,然后慢慢接班。當時家里的每個超市都很大,都有一二十臺 POS 機, 每個超市有一臺服務(wù)器,一個數(shù)據(jù)庫。POS 機直接連到本超市的服務(wù)器上, 典型的客戶端/服務(wù)器結(jié)構(gòu)。在那個時代,我估計大家都是這樣的吧!說實話,這樣的軟件架構(gòu)表面看似挺穩(wěn)的,只要機器不出問題,穩(wěn)定供電,整套收銀系統(tǒng)就沒有問題。但實際上面臨著許多缺陷:1. 機器是真的會壞的,而且真的有壞過的案例2. 每次有商品數(shù)據(jù)要更新都要通知每一家店的管理人員進行更新,出現(xiàn)紕漏是很正常的3. 更新軟件的時候,工程師需要到各個現(xiàn)場配置,更新4. 各個店面統(tǒng)一數(shù)據(jù)困難,每個月統(tǒng)計數(shù)據(jù)的時候需要統(tǒng)一匯總,不能隨時隨地得知當前各分店的數(shù)據(jù)5. 等等......每一家店單獨運作一套系統(tǒng),這缺點要是列下去就沒完沒了了我建議老張搞個中央機房,把軟件集中化,每個門店都連接到統(tǒng)一的機房服務(wù)器,這樣就把上面的問題給解決了:后來的系統(tǒng)改造,經(jīng)過投標、招標,我們選了本地一家頗有實力的公司來做。我發(fā)揮了計算機專業(yè)的優(yōu)勢,幫助老張發(fā)現(xiàn)了不少問題。看來我爸說的是對的,縮小信息差很重要。中央機房運作了幾年,效果不錯, 不過自家的機房管理起來非常麻煩。平時需要仔細規(guī)劃、購買服務(wù)器,需要安裝軟件, 需要負責運維,我們還專門建立了一個團隊來應(yīng)對這些事情。更可氣的是黑客攻擊無處不在還有就是宕機、斷網(wǎng),一出事就是大事,影響所有的超市,我在半夜不知道被叫醒了多少次。這還不算啥,有一年為了配合超市雙11 期間促銷,我讓我爸一下子買了好多服務(wù)器,雙11 過后,全部閑置了,把我爸氣得夠嗆。所以當阿里云出現(xiàn)的時候,我兩眼放光,這簡直就是為了解救我而設(shè)置的。 馬上、立刻、全面上云。操作系統(tǒng)會按照你的要求自動給你安裝好。網(wǎng)絡(luò)自然不用操心, 要多大帶寬直接買就行。安全問題也不用操心,如果出了問題,我就可以理直氣壯地給我爸說:你看,這不是我的問題,是阿里云的問題,哈哈。而且機器能很方便地擴容,CPU 核心從 4 核到 8 核,內(nèi)存從 16G 到 64G......從此以后,我們的機房中的服務(wù)器要下崗了。轉(zhuǎn)眼間,十多年過去了,伴隨著超市 IT 系統(tǒng)的發(fā)展, 我也從一個用 JSP 寫網(wǎng)上商城的少年成長為公司的技術(shù)領(lǐng)頭人。技術(shù)在不斷變遷, 小程序興起,我們也跟著做了小程序,用優(yōu)惠信息吸引顧客掃碼關(guān)注、注冊,慢慢地積累了幾百萬粉絲。每個月我們都在小程序給會員發(fā)送優(yōu)惠券,可以在線下門店消費。沒想到這下可慘了,搶購優(yōu)惠券的請求量很難準確估算,也就很難預(yù)估需要準備多少臺虛擬機來應(yīng)對。我趕緊發(fā)動我所有的關(guān)系去解決這個問題,一個偶然的機會,我發(fā)現(xiàn)了一個新技術(shù):函數(shù)計算, 即 Serverless。平臺會根據(jù)請求的數(shù)量來創(chuàng)建對應(yīng)的函數(shù)實例來執(zhí)行,無需人工干預(yù),瞬間彈性擴容,應(yīng)對流量爆發(fā)。在中國,誰家的 Serverless 技術(shù)最強呢?權(quán)威咨詢機構(gòu) Forrester 發(fā)布的報告顯示, 阿里云函數(shù)計算憑借在產(chǎn)品能力、安全性、戰(zhàn)略愿景和市場規(guī)模等方面的優(yōu)勢脫穎而出,產(chǎn)品能力位列全球第一,這也是首次有中國云廠商進入 FaaS 領(lǐng)導(dǎo)者象限。正好我們之前用的也是阿里云的虛擬機,就是它了!除了函數(shù)計算外,由于業(yè)務(wù)需要查詢會員數(shù)據(jù)庫,我們希望它也能無縫彈性擴展,于是就使用了阿里云的表格存儲。上了這套 Serverless 的系統(tǒng), 再也不用考慮服務(wù)器,虛擬機用多少 CPU,多少內(nèi)存了,彈性十足!函數(shù)部署也特別簡單,完全不需要考慮底層的細節(jié),一鍵更新函數(shù)就搞定。當年的雙十一度過得非常平穩(wěn),事后進行成本估算:以前買云服務(wù)器的時候,會按照可能遇到的最高并發(fā)量進行性能評估,由于 Serverless 是按量計費,用多少花多少,最終評估下來,當年在成交量增加 120%的情況下,成本比往年節(jié)省了 45%!研發(fā)交付效率提升也超過 30%!從那以后,我爸對我刮目相看,看我的眼光都溫柔了不少。當然,除了技術(shù)之外我還是很關(guān)心業(yè)務(wù)的,貼合各種當代的新潮玩法。前不久給公司搭了個直播間,在平臺上促銷自己的商品。后來想了想,自己玩沒意思,我嘗試聯(lián)系了超市附近各行各業(yè)的商家,邀請他們加入我的直播間,一起嘮嗑賣貨。其實當時沒多少店家搭理我,唯獨一家洗浴中心的老板對這個感興趣。不得不說,那洗浴中心的老板嘮嗑能力極強,和我算是棋逢敵手。第一次直播時,我們連鎖超市和洗浴中心各家分店搞了一次聯(lián)合優(yōu)惠活動,但當晚直播竟然從賣貨推銷變成了講相聲。直播我們每周舉辦一次,越來越多網(wǎng)友聞聲而來,成交的訂單數(shù)也越來越多。直播當晚的成交量甚至能抵上過去一周的總量。直播過程中總有熱心的網(wǎng)友主動連麥, 從技術(shù)上來說,就需要把多個網(wǎng)友的畫面接入,和主播的畫面合成一個新畫面, 這叫“混流”。由于連麥的觀眾不固定,我得考慮一定的并發(fā)和彈性,我們的相聲直播一周才一次,不可能去儲備大量服務(wù)器去應(yīng)對業(yè)務(wù)的高峰期。之前嘗過 Serverless 的甜頭,這次我立刻讓研發(fā)部采用阿里云函數(shù)計算來處理混流的需求。 當并發(fā)量上升時,函數(shù)計算自動擴容多個執(zhí)行環(huán)境來處理實時數(shù)據(jù)流, 當業(yè)務(wù)高峰期過去后,自動縮減資源,非常爽。當然,Serverless 的應(yīng)用不僅僅是這些,還有我們的“相聲”視頻需要做轉(zhuǎn)碼,優(yōu)化推流,我也用了阿里的函數(shù)計算,節(jié)省了 60% 以上的計算資源。這兩年,我是深刻地體驗到了 Serverless 的好處:完全不用考慮服務(wù)器的事情,集中注意力實現(xiàn)自己的業(yè)務(wù)邏輯就好!這么多年,一路走來,技術(shù)在不斷變遷,今年我有幸被母校的計算機學院邀請去作分享,我給大家分享了這些年的技術(shù)歷程演講期間,我提起了當年大學的那個編程比賽,那也是我編程生涯的起點。正好,我知道阿里云舉辦了一個云原生的編程大賽,我也想把這項賽事分享給朋友們:這個大賽 2015 年就有了,那時候叫做中間件性能挑戰(zhàn)賽,已經(jīng)有 7 年歷史了, 去年升級為云原生編程挑戰(zhàn)賽,共吸引了超過 23000 支隊伍,覆蓋 10 余個國家和地區(qū)。大賽為熱愛技術(shù)的年輕人提供一個挑戰(zhàn)世界級技術(shù)問題的舞臺,希望用技術(shù)為全社會創(chuàng)造更大價值。查看大賽更多相關(guān)解析:致云原生開發(fā)者:這里有一場全球頂尖的編程大賽,歡迎來戰(zhàn) 60 萬大獎 | 云原生編程挑戰(zhàn)賽 Less is more - Serverless 創(chuàng)新應(yīng)用賽火熱開啟中 ??戳“閱讀原文”, 立即報名參賽! 瀏覽 70點贊 評論 收藏 分享 手機掃一掃分享分享 舉報 評論圖片表情視頻評價全部評論推薦 一口氣漫畫易經(jīng)一口氣漫畫易經(jīng)0一口氣漫畫易經(jīng)●用漫畫的方式打開易經(jīng),輕輕松松就讀懂了!●“中國漫畫獎”得主馮戈國學經(jīng)典口碑之作,榮獲澳門MAD亞一口氣搞懂 MySQL 索引所有知識點小林coding0通透!一口氣搞懂注解到底怎么用!編程技術(shù)宇宙0一口氣歌手楊靜一口氣1750413502發(fā)布日期2009-01-01ISRCTWK870900208時長4.54分鐘流派臺灣流行音樂,音樂,國際流行作曲家張燕清ServerlessServerless0喘一口氣喘一口氣0拼一口氣歌手林俊吉拼一口氣1258554522發(fā)布日期2017-07-06ISRCTWE531720401時長3.97分鐘流派臺灣流行音樂,音樂,國際流行一口氣搞懂「鏈表」,就靠這20+張圖了說真的,任何說起嵌入式軟件怎么入門啊?需要學些什么東西啊,我差不多一致的回答都是:軟件方面C語言和數(shù)據(jù)結(jié)構(gòu)加上一些簡單常用的算法,這些需要學好。借著自己的回顧學習,我也寫一些基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)知識,多畫圖,少BB,與大家一起學習數(shù)據(jù)結(jié)構(gòu)順序存儲和鏈式存儲數(shù)組—順序存儲數(shù)組作為一個順序儲存方式的數(shù)據(jù)結(jié)構(gòu),一口氣搞懂「文件系統(tǒng)」,就靠這 25 張圖了C語言與CPP編程0點贊 評論 收藏 分享 手機掃一掃分享分享 舉報