随着技术与网络的发展,让现有服务器性能逐渐无力支撑。为了打破阻碍因素,未来互联网将向无服务器交互系统的方向升级。
我将在此为大家解构无服务器交互系统,从定义、特点、架构入手,进一步揭开它与区块链技术之间的联系。
无服务器交互系统是现有互联网的发展方向,区块链技术与其相辅相成,相互促进,密不可分。
一、无服务器交互系统的定义
初识互联网,交互操作被分为前端与后端。
前端的主要任务是打造交互效果,譬如动态显示网页,无需调动后台数据。
后端的主要任务是将数据平稳高效的读取出来,譬如用浏览器搜索一个词条,网页就会显示和该词条有关的全部信息,这主要是后端在发挥作用。
现今的后端部分主要依赖中心化服务器运转;
一旦并发量过大,众多请求需要排队等候服务器处理。
双十一期间每秒大概产生十万并发量,而这十万并发都由同一服务器完成。
即便阿里巴巴采用动态扩容的方式强化处理并发的服务器,可是仍有用户反馈,出现页面无法打开的情况。
无服务器交互系统是指,提供后端服务的中心化服务器将不再处理请求,用户将直接面对带有功能组件的网络系统,而用户的需求则由该组件的交互操作提供。
功能组件包含像邮件、拍卖、音乐等功能。
意味着,后端服务无需先找服务器处理需求,而是围绕用户与组件的交互操作对后端求情进行处理。
无服务器交互系统有两大技术特点:
特点一:资源不再依赖中心化服务器
资源是指从服务器中返回的交互结果,包括文本、图像等数据信息。
在现有的服务器架构下,资源与服务器直接相关。后端操作必须访问中心服务器才能取回交互结果。随着访问服务器的次数呈几何倍数增长,对服务器的性能与相关服务要求更加严苛。
而在无服务器交互系统中,资源与服务器无关。后端操作可细化为多个具体操作,再将具体操作细分成一个个功能组件。
此时,每一次调动资源面向得是被细分后的交互操作,提高了整体过程的可用性。而且系统还可以自行选择优化功能组件,保证系统运行顺畅的同时,降低维护成本。
特点二:交互与服务器无关
交互是指系统对用户的操作做出反馈,效率高低影响着用户体验感。
在中心化服务器架构下,交互通过http进行回复,读快写慢,交互压力会随着用户增加而变得难以应付。结果就是交互效率降低,产生卡顿。
在无服务器交互系统下,采用函数来回复交互操作。
将交互封装成小服务,倘若一个交互不顺利,可调用另外一个交互功能进行交互,单点阻塞状况不会发生,访问流畅度不会受到影响。
此外,在无服务器交互系统中,交互设计的好坏将被甄别出来,从而更好地维护交互功能组件的发展。
对比以上特点可以发现,当系统从中心化服务框架演变成功能性组件服务框架后,服务器将不再需要承担大的交互压力和查询压力。并发处理能力将大幅提升,可用性也可以得到保障。
无服务交互系统更易维护,同时扩展性更强。
在未来,工程师通过搭建和维护细小的功能组件,高可用的网络服务将很容易被实现,并可以提高升级和扩展的效率,不仅让互联网生态更加繁荣,还会提高网络的可扩展性,加速点对点经济的发展。
二、无服务器交互系统的架构
无服务器交互系统采用FaaS(function as a service,函数即服务)架构。
这是是一种以函数作为设计基础的网络架构,意味着它是面向功能组件,而非面向服务器。
面向服务器与面向功能最大的区别是,前者是若想稳定调用服务器需要设置层层缓存;后者是通过对功能细化和对功能进行针对性的扩展来完成对特定功能的调配。
无服务器交互系统在架构设计上有两个特点,一是要以设计交互功能为主,二是要提高交互部分进行可扩展性。
接下来,我们以传统中心化服务器邮件设计和无服务器交互系统下的邮件设计为例,更加形象的说明两种互联网架构的区别。
传统的邮件架构,系统由特定网络协议、多层级服务器来架构;
其中常用的基于文本的协议是SMTP,不仅需要通过该协议进入网络,还需要经过邮件访问协议,对相关服务器和镜像进行访问。在这种架构下,与服务器之间的交互操作需要多次进行,相互通讯或是用户查看都需要通过不同的协议。
在无服务器交互系统的邮件架构中,只要将进入网络前的功能和从网络进来时的功能实现即可,无需考虑协议的部分;
也就是说,只需要站在进入网络前和从网络进入客户端这两个角度完成交互设计即可。
拿邮件系统举例,其中涉及的交互功能分为发送邮件和接收邮件;
发送邮件可以细分为加密附件和区块链上状态改变;
接收邮件可以细分为解密附件和区块链上状态改变。
这种将大功能细分成小功能的架构是无服务器交互系统设计的重机原则。
在本例中,通过本地非对称签名就可以完成加密附件部分非结构化的交互数据用加密存储的方式进行传输。
也就是说,加密过程一直与用户的本机相连,只有用户知道如何解密。
KV的结构化数据则使用区块链来记录状态变化,由节点共同维护。
系统架构只需要处理如何用分布式存储来做非结构化数据的接收发送等问题,之后就可以专注于提升用户的前端体验。
通过面向发邮件和收邮件功能组件的系统设计,实现了通过分布式的节点来保障收发邮件的功能,完成了无服务器交互系统下的邮件系统架构。
对比传统架构,新一代的互联网具有如下特征:
特征一:无需维护服务器。
这意味着建立一个交互型的系统成本更低,用户的数据不会被无端记录和被垄断数据使用权。
特征二:可以自行设计功能来扩展、提⾼性能。
在邮件系统的设计中,可以根据实际需求调整收发邮件的不同组件的性能。
这意味着企业可以用更低的成本来维护一个高频次的交互系统,用户使用互联网将更加流畅。
特征三:控制密钥管理资源。
企业可根据密钥信息引导用户,保障用户的访问安全和数据隐私。
特征四:控制存储实现交互。
交互可通过整合加密存储到函数的方法来实现,比如在网上分享十个资源,通过相关公钥来使用,当需要替换两个资源时,只需更改对应的公钥就能实现,在这种方式下,用户也可以与系统更平稳的进行交互。
三、无服务器交互系统与区块链
区块链是无服务器交互系统中重要组成部分,中心化的服务器将被它代替,负责状态记录和记账。
状态记录是记录用户在网络上的状态,比如是否是VIP;
而记账是记录用户的每一笔支出。
以上两种互联网上最重要的两个功能,现在主要由各大公司的中心化的服务器承担。
在状态记录上,区块链的优势是能保证状态读写的稳定性。
在任何情况下,都能针对不同属性区块链的状态在不同函数下进行更改。同时,区块链节点的分散特性也保证了系统的高可用性,区块链天生的记账属性和激励属性保障了互联网上相关结算场景成为现实。
总而言之,无服务器交互系统就是通过更改区块链上的状态以及维护加密数据来实现交互,并在无服务器交互的基础上,对交互功能进行分解、优化。
此外,无服务器交互系统也能让区块链应用大规模落地和发展,从而促进区块链更容易被广泛接受。
四、从中心化服务器到无服务器交互系统
虽然点对点的系统设计是互联网的起源,但由于这种系统在早期是用低成本的分布式结构来进行运营,并没有对分布式的节点进行奖励;
故而整个系统的最终运转仍旧离不开中心化企业的设计和运营。
另外,现有的互联网解决方案主要是围绕着中心化服务器来进行设计的,这种设计更加直接和容易。种种原因让我们一直停留在中心化服务器的互联网时代。
随着区块链技术的出现,产生了许多激励节点的方法以及通过节点数量保障可用性的方法,无服务器交互系统正在让互联网发生巨大变革。
原本的服务器架构被功能化、模块化、函数化,颗粒化。
未来,传统的后端工程师将分为整体架构工程师和函数架构工程师;
函数架构在未来可以选择传统云厂商提供的函数,也可以使用区块链厂商提供的函数,其中,区块链厂商提供的无服务器交互系统具有更高可用性,节点越多越有保障。
无服务器交互系统是互联网发展的必然的趋势,它在现有的互联网架构基础上另辟蹊径,把区块链的特性与之相辅相成,与传统架构对比更加优越。这一变革将在不远的未来深入到生活中的方方面面。
网友评论