只要应用协议不变,不可能上一波写服务端的程序员总是笨蛋,服务端深度优化余地也不大,服务器端就像一匹拉大车的小马,拉不动货车就再来几匹马。
2-2. 客户端受尽软硬限制
客户端生态有硬件和环境限制,有系统和分发渠道卡脖,C/S软件架构上默认也把客户端当做不可控因素。一层层限制耗尽了客户端开发圈的活力,客户端似乎被“天经地义又无可奈何”的限制住了想象空间。
我们首先看硬件配置限制,无论是电脑、手机、家用智能终端甚至工业IOT网关,在激烈的市场竞争下,客户端硬件配置从来就是半年就落伍,三年就淘汰。
家用智能终端大部分时间是闲置待机,但在响应需求的瞬间绝对是满负荷运行的,否则就是成本控制没到位。 一个手机厂商拿捏不准是否该集成某种计算芯片,集成了新芯片会成本提升,不集成该芯片又缺乏吸引用户新功能。
我们再看功耗限制,台式机电源要舍得用铜料,手机锂电池已经服役超过20年了,无风扇工控机的功耗影响散热上限,IOT设备的功耗极大影响部署难度。
上述四种硬件的复合体是笔记本电脑,操作系统升级和低功耗SSD使其续航时间超过了5个小时,但玩个中配游戏仍然会风扇狂转键盘烫手,然后又没电了。
第三个问题是软件安装部署的难度,商业工程软件我不太了解,我就举几个游戏的例子。《全战三国》有18G,《魔兽世界》40G,集成Model的《老滚5》很容易过100G,应用下载就很麻烦,后面还有安装和更新的难关以及版权验证等问题。
我也借机诚邀游戏引擎开发者们谈谈,大家因为功耗/配置/安装部署问题放弃了哪些激动人心的炫酷功能?看完全文你们会意识到,这些限制都是可以改变的。
最后一个问题才是重头戏,客户端开发者在程序分发生态中一直是弱势被勒索的位置。一个APP想在发布运行——技术的、商业的、渠道的、运营的、抄袭的、黑产的,这些拦路虎或者要分享利益,或者就是要禁止你的APP。
这和上个问题的本质是相同的:一个客户端应用只是个用户进程,没有权限去掌控系统全局状态。但这个客户端应用在运行过程中,又依赖这些全局资源的配合。
客户端开发,不应该被这些“天经地义又无可奈何”的软硬件限制绑住想象空间,这些软硬件限制在边缘计算面前,都是可笑的摆设和无限的商机。
2-3. 5G是边缘计算的最大助力
现在能确认爆款5G应用的人早就去创业了,我们只从5G的物理特性看未来的架构问题。
在4G时代,旧IT架构已经是累卵危石头,幸好CDN扛下了一大半业务负载才没有彻底崩盘。5G会增大架构危机的压力,让旧架构凑合不下去,但5G的物理特性又给新架构指明了一条新路。
首先5G导致客户端节点的数量和带宽的增加,普遍预测客户端接入数量和接入带宽要翻十倍百倍甚至更多,这些新兴应用一开始只能降速适应旧架构,但是从工程量级上有了引入中间层的必要性。
一个系统只有5万个QPS,架构师引入中间层是过度设计;如果新系统有5亿个QPS,架构师引入中间层才算是正经做设计。
大家都知道5G有高带宽,但更有价值的是边缘网络的超低延迟。现在对延迟敏感的逻辑只能放到客户端本地,而5G时代,边缘网络延迟稳定小于10ms。5G网卡的速率和延迟在超越很多本地设备,网卡可以复现当年SSD盘的救驾之功。
典型5G带宽的吞吐速率是100Mbyte/s,读写延迟10ms甚至5ms以下;SATA硬盘理想读写速率能到150Mbyte,而延迟则是看磁头的运气了。显示器和键鼠本来就有毫秒级延迟,大部分用户根本不介意多上10ms的网络IO延迟。
当数据放在“客户管不着、厂商摸得到”的边缘端时,数据的管理和运营就突破了纯客户端的藩篱了。
网盘数据可以集中反盗版和鉴黄;云主机可以代维护,容器群集可以集中更新漏洞;如果是用户书房的个人电脑就没这些便利操作了。
服务端无法预知客户端会何时连接的,客户端需要有序排队和数据预处理,否则容易出现瞬时拥堵。5G时代客户端会增加十倍百倍,必须有分布式中间节点对亿万QPS进行整流排序,并进行适度的数据预处理,这样服务器端的压力承载才会有序可控。
危机危机,危险的背后就是机遇,牛顿不是第一个被苹果砸到的人。
三、边缘计算是架构革命前文聊服务端、客户端和5G,本质都是在聊C/S架构的危机。4G时代已经把优化软件和升级硬件的潜力榨干了,我们必须从架构角度引入Edge端,让边缘节点来承载大部分5G业务压力。
我们清晰的看到,边缘计算的本质是一场架构革命:
计算机刚开篇时所有软件都是单机软件,单机软件只有功能没有服务。CS模式开始有了“服务端”的概念,服务端最早只是单机处理几千个轻量请求,现在要数万台服务器端并发处理上亿个重负载请求,这已经超过了C/S架构的极限。
边缘计算的本质是CES模式取代CS模式,引入Edge端是解决CS模式跑不了重载业务的最好办法。
在5G以前,网络计算的延迟远大于本机计算延迟,Edge端只能跑可缓存的视频图片做CDN。现在CDN是最成熟最成功的云产品,价格战只是瞬时商业表象,CDN从产品角度已经赢的很彻底了。
有了5G低延迟网络的支撑,Edge端可以承担取代本机客户端的算力工作,可以解决前文提到的大量服务器端和客户端危机。