Swift发布并行运算集群函数库Dist

北京湿疹权威医院 http://m.39.net/pf/a_8839620.html

程序语言Swift官方宣布发布分布式演员(DistributedActors)组件,这是一个服务器面向的集群函数库,提供分布式演员语言功能,该函数库在服务器使用案例中,针对分布式演员提供完整的解决方案,官方提到,他们希望通过开源该函数库,来收集更多的相关的反馈。

演员模型(ActorModel)是一种并行运算模型,而演员则是一种抽象概念,为并行运算的基本单元,作为运算实体,演员可以发送消息给其他演员,并且创建新演员等动作,演员之间的动作,不包含顺序执行的假设,因此可以并列进行。

官方提到,分布式演员是Swift并行模型演进的下一步,通过语言内置的演员,Swift提供开发者一个安全且直观的并行模型,适用于许多应用程序。与其他并行模型不同的地方在于,演员模型适用于分布式系统,开发者可以使用熟悉的演员概念,开发分布式系统应用程序,并且将其移动到诸如集群等分布式环境中。官方想要通过分布式演员,简化和推动分布式系统程序开发。

不过,分布式演员组件的抽象,并不打算完全隐藏分布式跨网络调用的事实,官方解释,在某种程度来说,他们正在进行相反的事情,他们假设调用可能是远程的。组件可主要用于构建分布式系统,但是也支持在本地测试集群中进行测试,并且有效地模拟各种错误场景。

分布式演员概念类似本地端演员,因为都仅通过异步调用,将状态和通信封装在一起,分布式的部分则是增加了额外的隔离、类型系统和执行时的注意项目,但以功能表面来说,跟本地端演员非常相似,官方提到,分布式演员减少了许多一般远程程序调用系统,所需要构建和撰写的样板程序代码,因为开发者不用关心程序代码片段中切确串行化和网络细节,开发者就仅需要声明来完成配置,并且跨网络发送工作请求。

要在分布式系统中加入分布式演员,开发者必须为其提供ActorTransport,这是一个可由用户实例的函数库组件,负责执行远程函数调用所需要的网络工作。而在Swift标准函数库中,不提供任何特定的传输方法,仅定义语言模型和扩展性,让传输实例可以使用这些模型语言和扩展性,替分布式演员实例特定的传输功能。

标准函数库定义了ActorTransport协议,让任何人都可以实现该协议,将分布式演员应用在特殊的用例中,官方提到,传输实例案例不只限于集群系统,还可包括基于Web-socket的消息传递,或是分布式演员的内部处理通信。

而官方所发布的SwiftDistributedActors函数库,则是用来构建分布式系统的全功能框架,是一个ActorTransport协议的实例,可作为其他传输功能开发者的实例参考。这个函数库利用Swift高性能服务器端网络函数库SwiftNIO,实现集群的网络层,同时集群函数库还提供基于SwiftClusterMembership函数库的成员服务,这代表用户可以在独立模式下运行集群,而不需要额外启动服务探索和数据库服务,因此可简化在裸机中的部署工作。

集群被设计具有高可扩展性,分布式演员系统让演员们可以组成一个集群,相互探索沟通,开发者不需要开发低端网络程序。分布式演员目前为一个早期的实验性语言功能,目标是要简化和推动Swift中的分布式系统程序开发技术,但因为现在仍在早期预览阶段,因此API可能任意的变动。




转载请注明:http://www.aierlanlan.com/rzgz/3544.html