周伯通的空明拳,米诺斯的星尘傀儡线,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架构下,已经从应用开发人员的视角中隐藏起来罢了。
感谢阅读。
更多阅读
站在巨人肩膀上的牛顿:Kubernetes和SAP Kyma
高射炮打蚊子,杀鸡用绝世好剑:在SAP Kyma上运行UI5应用
什么?在SAP中国研究院里还需要会PHP开发?
第三方应用如何在SAP Kyma上进行服务注册
基于SAP Kyma的订单编排增强介绍
WordPress,SAP Kyma和微信三者的集成
从ABAP Netweaver的SICF到SAP Kyma的Lambda Function
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
[外链图片转存失败(img-76HkWVbA-1565578526774)(https://user-images.githubusercontent.com/5669954/60097669-68224900-9786-11e9-9f1e-e8bee08db4fa.png)]要获取更多Jerry的原创文章,请关注公众号"汪子熙":
周伯通的空明拳,米诺斯的星尘傀儡线,SAP Kyma的Serverless相关推荐
- 递归的逻辑(5)——米诺斯的迷宫
米诺斯迷宫的传说来源于克里特神话,在希腊神话中也有大量的描述,号称世界四大迷宫之一. 米诺斯是宙斯和欧罗巴的儿子,因智慧和公正而闻名,死后成为了冥国的判官.由于米诺斯得罪了海神波塞冬,波塞冬便以神力使 ...
- C++题目:米诺斯的迷宫
米诺斯的迷宫 题目背景 传说米诺斯王在克里特岛为米诺陶洛斯(Minotaur,"米诺斯的牛")修建了一个迷宫(Labyrinth).而你想找到米诺陶洛斯,然后杀掉他,从而成为英雄. ...
- sap crm行业解决方案_SAP云平台和第三方CRM解决方案(火锅)互联
光看封面配图,这篇文章很容易被误认为在讲成都的美食之一:火锅. SAP成都研究院坐落在被联合国教科文组织授予过"美食之都"称号的成都,所在的天府软件园,半径1公里左右星罗棋布着很多 ...
- 一步步把 SAP UI5 应用部署到 SAP BTP Kyma 运行环境中去
这是 Jerry 2021 年的第 40 篇文章,也是汪子熙公众号总共第 317 篇原创文章. Jerry 2018年曾经写过两篇文章,介绍了如何在 Kubernetes 这个容器编排平台上运行一个包 ...
- 计算机世界的虚拟机,容器和医学界的人工硬脑膜
这是Jerry 2020年的第69篇文章,也是汪子熙公众号总共第251篇原创文章. 本文不含惊悚内容的图片,请大家放心阅读. 医学界的虚拟化技术挽救了Jerry的生命,所以有了这篇文章. 计算机世界的 ...
- SAP API开发方法大全
Jerry之前的文章:**从SAP Leonardo到SAP Data Intelligence **曾经提到,SAP Leonardo Machine Learning Foundation的机器学 ...
- SAP云平台和第三方CRM解决方案(火锅)互联
光看封面配图,这篇文章很容易被误认为在讲成都的美食之一:火锅. SAP成都研究院坐落在被联合国教科文组织授予过"美食之都"称号的成都,所在的天府软件园,半径1公里左右星罗棋布着很多 ...
- SAP API 开发方法大全
Jerry之前的文章:**从SAP Leonardo到SAP Data Intelligence **曾经提到,SAP Leonardo Machine Learning Foundation的机器学 ...
- Jerry号召广大程序员同仁们,把身体锻炼好,每天把砖搬起来
侃在广州,无事辄朝运百甓于斋外,暮运于斋内.人问其故,答曰:"吾方致力中原,过尔优逸,恐不堪事,故自老耳". --<晋书陶侃列传> 以上的文字,说的是我国晋代著名诗人陶 ...
最新文章
- 使用Python,OpenCV构建透明的叠加层
- Linux+Apache2+openssl实现https验证
- hp服务器330g6怎么安装系统,Hp DL380 g6 安装WIN2003的图文方法
- 同步云数据库MySQL到自建数据库
- 汇编语言 -第十一章
- 为什么需要消息队列MQ
- [vue] 为什么data属性必须声明为返回一个初始数据对应的函数呢?
- js将秒转化成时间格式
- 【图像分割】基于matlab GUI FCMKFCM MRI图像分割【含Matlab源码 582期】
- 毕业设计源码——旅游打卡小程序
- 使用计算机录制声音10,win10系统电脑中如何解决录屏时无法录制声音的问题
- python计算相关性显著性p值_基于python如何实现计算两组数据P值
- B站学习法之深度学习笔记一
- 续费Enom域名的三种办法
- 认知学习:当代学习理论的主流
- ABeam Insight (德硕)| Smart Conference ——让你的生意跨越语言障碍
- 计算机正确的按键手法游戏,lol正确的按键手法图解
- 数据仓库 pdf 电子书大全
- python requests+unittest+beautifulreport+jenkins实现接口自动化(下)
- [转]一些软件设计的原则
热门文章
- 使用谷歌浏览器的speechSynthesis的API,实现语音播报功能
- C语言中几种输入方式
- PHP不包括字母,数字和下划线的webshell
- Flutter学习-多子布局Widget
- shell脚本获取当前时间和1分钟/1小时前时间
- twig html不转义,twig输出转义
- php2twig,php twig是什么意思
- 基于NodeJS+VUE+Mysql的大学生校园疫情防控管理系统
- vue自适应布局(各种浏览器,分辨率)
- 计算机蓝牙快捷键,如何打开Windows10笔记本电脑的蓝牙,快捷键打开笔记本电脑的蓝牙!...