周伯通的空明拳,米諾斯的星塵傀儡線,SAP Kyma的Serverless
Jerry一直認為,金庸的《天龍八部》裡的武學建模已經有點脫離傳統武俠小說的範疇了,像已經走上玄幻道路的靈鷲宮“八荒六合唯我獨尊功”,以及殺傷力足夠能被視為現代鐳射武器的鼻祖,大理段式的“六脈神劍”之類。而另一部經典的射鵰三部曲裡很多的武功設定則中規中矩,其中周伯通自創的七十二路空明拳,是金老獨具匠心的創造之一。
周伯通被黃藥師困在桃花島,宅了十餘年,從《道德經》中參悟到「以虛擊實」,「以不足勝有餘」的武學(程式設計)思想。《道德經》有云:「天下莫柔弱於水,而攻堅強者莫之能勝,其無以易之。弱之勝強,柔之勝剛,天下莫不知,莫能行。」
而這套拳力“若有若無”的武功,使用在生產環境最經典的一幕,就是在百花谷和楊過的“黯然銷魂掌”PK的時候:
周伯通生性好武,雖在百花谷隱居,每日仍是練功不輟,但以他如此功力,普天下哪裡找對手去?這時見楊過願意比武,自是心癢難搔,躍躍欲試,心想若再多言,只怕他忽而又不願動手了,豈不是錯過良機?當下左掌一提,喝道:“看拳!”右手一拳打了出去,使的是七十二路的“空明拳法”。
楊過左手還了一掌,猛覺得對方拳力若有若無,自己掌力使實了固然不對,使虛了也是極其危險,不禁暗暗吃驚,當下展開十餘年來在狂濤怒潮中所苦練的掌法還擊出去。
無獨有偶,在車田正美筆下的《聖鬥士星矢》裡,也有很多像周伯通一樣,擁有一套招式若有若無的好手。如果按照動漫裡越晚出場的人物實力越強的設定,那麼最強的人物無疑是Jerry這張卡片裡秀的,冥界三巨頭之首,天貴星的獅鷲米諾斯,第一域的最高主宰者。
米諾斯的絕技星塵傀儡線,能夠用一根根看不見的絲線將對手的身體纏繞起來,從而使其像一具傀儡一樣,只能按照自己的意志來活動,是一種非常可怕的招式。在對手眼中,這些由米諾斯小宇宙形成的絲線若有若無,根本無從防禦。米諾斯最高光的戰績,就是一度全面壓制在黃金聖鬥士中實力位居中上游的加隆,後者儘管擁有銀河星爆這種絕招,但是在米諾斯的星塵傀儡線面前,毫無反擊的機會。
同樣,Jerry第一次接觸SAP Kyma基於Serverless架構的Lambda Function時,感受同周伯通和米諾斯的對手一樣有些疑惑:名字都叫Serverless了,沒了伺服器,那我的函式程式碼到底執行在什麼地方的?
比如在最近Jerry寫的一系列SAP Kyma的文章裡介紹過,我在Kyma上建立了一個名為zjerry-lambda的函式,基於nodejs8:
可以直接在Kyma的測試控制檯裡呼叫這個Lambda Function:
Serverless的字面意思,不是暗示我們沒有伺服器了嗎?那麼這段函式程式碼到底執行在哪裡的?
米諾斯的星塵傀儡線,在冰系法師,百鳥座冰河的凍氣之下,終於被凍結成肉眼可見的絲線了。同樣的,因為SAP Kyma是基於Kubernetes的,因此我們還是可以透過Kubernetes提供的一些工具,來探索SAP Kyma上Lambda Function執行原理的一些蛛絲馬跡。跟Jerry一起看看吧。
首先找到zjerry-lambda函式建立後,對應生成的pod,把名字抄下來:zjerry-lambda-86668f75d4-pfbk6
使用kubectl的互動式引數-ti,進入這個pod內部:
kubectl exec -ti zjerry-lambda-86668f75d4-pfbk6 -n ctu-demo -- /bin/sh
進入之後,檢視程式列表,發現了node kubeless這個程式,Jerry頓時覺得有點眉目了:
看樣子,SAP Kyma的Lambda Function是透過一個node程式執行的。檢視一下這個pod裡都有哪些檔案:
開啟kubeless.js看看裡面的內容:
如果您是一位nodejs開發人員,看到上面Jerry高亮的紅色內容,一定會恍然大悟。SAP Kyma的Lambda Function,其實執行在對應的Kubernetes pod裡啟動的express應用框架上。
Express的依賴定義在pod內部的package.json裡:
而待執行的Lambda Function邏輯,透過環境變數FUNC_HANDLER進行注入,在Jerry這個例子裡,函式體名稱為main:
在Lambda Function的Serverless框架,即kubeless.js執行時,會從pod內部的kubeless這個資料夾裡,找到應用開發人員編寫的Lambda Function,載入並執行。
大家可以看到,Jerry紅色高亮的位於pod內部的handler.js, 其內容就是Kyma控制檯裡編寫的函式體。
至此,SAP Kyma的Lambda Function實現,在Jerry眼中沒有任何神秘可言了。回到Serverless這個術語本身,並不意味著整個場景裡不再需要伺服器的參與,而是伺服器的這個關注點,在Serverless架構下,已經從應用開發人員的視角中隱藏起來罷了。
感謝閱讀。
更多閱讀
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2654195/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- win10阿米諾斯Win10
- 容器,Docker,Kubernetes和Kyma,以及Kyma對SAP的意義Docker
- 容器,Docker, Kubernetes和Kyma,以及Kyma對SAP的意義Docker
- 如何建立最簡單的 SAP Kyma FunctionFunction
- SAP Kyma(Extension Factory on SAP Cloud Platform)的架構簡介CloudPlatform架構
- 從ABAP Netweaver的SICF到SAP Kyma的Lambda FunctionFunction
- 如何把SAP Kyma和SAP Cloud for Customer連線起來Cloud
- 如何在SAP Kyma的控制檯裡擴充套件新的UI套件UI
- EventBus in SAP UI5 and KymaUI
- 把 SAP UI5 應用部署到 SAP KymaUI
- 在 SAP Kyma 上使用 Redis 服務Redis
- 如何使用 SAP Kyma 控制檯手動傳送 SAP Commerce Cloud Mock 應用暴露的事件CloudMock事件
- 拳頭兩款單機遊戲《破敗之王》和《海克斯炸歡天》正式上線遊戲
- 把執行在 Docker 容器內的 Microsoft SQL 伺服器部署到 SAP Kyma 中DockerROSSQL伺服器
- 在 SAP Kyma 上部署一個 Go MSSQL API EndpointGoSQLAPI
- 擒敵拳的學習
- 微服務低程式碼Serverless平臺(星鏈)的應用實踐微服務Server
- 谷歌,被塵封的過去!谷歌
- SAP BTP Kyma Runtime dashboard 開啟報缺少缺陷的錯誤訊息該如何解決
- SAP ECC系統連線SAP PI系統的系統連線配置
- SAP Fiori 的學習路線指南
- REST是否會步SOAP的後塵?REST
- Serverless 的價值Server
- Serverless 的前世今生Server
- Serverless 架構下的服務優雅下線實踐Server架構
- 機器人傷人事件:沒有意識的它只是人類操控下的傀儡機器人事件
- EMQX Cloud Serverless 正式上線:三秒部署、按量計費的 MQTT Serverless 雲服務MQCloudServerQT
- 一步步將 SAP Commerce Mock 應用部署到 SAP BTP Kyma RuntimeMock
- 用AI的線團,解開金融行業的米拉諾斯迷宮AI行業
- 科幻類roguelike卡組構建遊戲《星塵戰線》將於今年8月進入Steam搶先體驗!遊戲
- Serverless——前端的3.0時代Server前端
- 關於 SAP Fiori 應用的離線使用
- 在 SAP BTP Kyma Runtime 上使用 Redis 讀取和儲存資料Redis
- Serverless Devs 的官網是如何透過 Serverless Devs 部署的Serverdev
- 共享經濟已成資本傀儡,背後是騰訊和阿里的暗鬥阿里
- 一步步把 SAP UI5 應用部署到 SAP BTP Kyma 執行環境中去UI
- SAP系統上線需要檢查的清單
- 世紀聯華的 Serverless 之路Server