随着互联网的不断发展,无服务器应用编程开发成为了程序员学习的又一个发展方向,下面北大青鸟http://www.kmbdqn.cn/就一起来了解一下,实现无服务器编程开发的框架都有哪些呢。
Nimbus是一个旨在简化FaaS应用程序开发、测试和部署的Java框架。
Nimbus提供了一组与云平台无关的公共接口,用于与云提供商的无服务器功能发生交互。
对于那些想要开发简单的应用程序的新手们来说,他们需要面临非常陡峭的学习曲线。
他们可能只想要部署一些HTTP端点用来保存数据,但仍然要学习很多与云相关的概念。
Nimbus的主要优势是不需要通过创建配置文件来声明云资源(如AWSSAM或者Serverless框架),这样开发人员“就不会因为忘记了某些参数而犯错”。
另外,Nimbus会对部署参数进行编译时检查,以便尽早检测出错误。
Nimbus还支持其他的操作:WebSocketFunction:用于处理websocket请求DocumentStoreFunction:用于执行因文档存储变更而触发的代码KeyValueStoreFunction:用于执行因键值存储变更而触发的代码NotificationFunction:用于执行由通知触发的代码QueueFunction:用于执行因队列变化而触发的代码BasicFunction:用于执行不需要触发器的代码FileStorageFunction:用于执行基于文件存储事件(文件创建和删除)的代码AfterDeploymentFunction:用于执行部署之后需要立即执行的操作。
除了支持各种不同的操作之外,Nimbus还支持几种数据存储类型。
其他支持的数据存储(和客户端)包括:用于存储关系型数据的关系型存储、用于存储键值数据的键值存储和用于存储对象的文件存储(支持静态网站托管和文件上传)。
测试也是构建无服务器应用程序的另一个常见难点。
Nimbus提供了单元测试和集成测试支持。
在进行单元测试时,可以为上述列表中的任何一个操作创建本地部署,可以接受请求,并验证函数是否被正确调用,或者数据是否被正确保存。
Nimbus对集成测试的支持相对有限,只支持基于HTTP的测试。
在进行集成测试时,会启动一个本地Web服务器,用于验证请求调用了正确的函数。
在系统启动后,ROSEHA首先会启动HADaemon,根据高可用性系统的配置结构进行初始化,然后会启动相应的服务和代理程序来监控和管理系统服务。如果该代理程序检测到服务处于活动状态,HADaemon就会认为该服务处于活动状态,并会定时通知后备份服务器上的HADaemon,告知对方其每项服务处于正常状态。当代理程序检测到某个服务发生故障时,它就通知HADaemon管理程序。此时,HA软件首先会按用户设定的重启次数重新启动该服务,如果启动不成功,该服务会由HA转移(切换)到备份服务器上。HA周期性地检测系统的硬件状态,如果硬件发生故障,HA会把与该故障硬件相关的服务转移到备份服务器上。当发生服务转移时,HA首先会在运行服务器上停止该服务及相应的Agent之后,在备份服务器上由HA将该服务和相应的Agent启动。由于停止和启动该服务都需要一定的时间,所以当服务被切换(转移)时,该服务会有短暂的中断,转移完成后,服务自动恢复正常运行。欢迎分享,转载请注明来源:夏雨云
评论列表(0条)