课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习计算机编程开发技术,而今天我们就通过案例分析来了解一下,应用程序编程开发组成架构都有哪些。
状态机:Actor模型支持有限状态机。当Actor对象转换为某个预设状态时,就能够改变对未来接收到的信息的处理模式。通过变为另一种消息处理器,Actor对象就成了一种有限状态机。
无共享:一个Actor对象不会与其他Actor对象或相关组件共享可变状态。
无锁的并发处理方式:因为Actor对象不会共享它们的可变状态,而且它们在同一时刻仅会接收一条消息,所以在对消息做出回应前,Actor对象永远都不需要尝试锁定它们的状态。
并行性:并发处理方式和并行处理方式是不同的概念。并发处理方式是指多个计算操作同时出现。并行处理方式是指以并发处理方式完成单个目标。并行性是通过将单个的复杂处理过程拆分成较小的任务并以并发处理方式执行它们实现的。当等级较高的Actor对象能够将多个任务分派给多个下级Actor对象,或者任务中含有复杂的处理层级时,就适合通过Actor模型使用并行处理方式。
Actor对象的系统性:单个Actor对象不具备并行性。Actor对象的量级非常轻,因此在单个系统中创建许多Actor对象是受推荐的处理方式。任何问题都可以通过添加Actor对象来解决。
Action扩展特性(Akka系统)
位置透明性:使用抽象引用代表Actor对象的地址。如果Actor对象A1获得了Actor对象A2的引用,Actor对象A1就能够向Actor对象A2发送消息。提供支持的Actor系统会负责处理传送消息的操作,不论Actor对象A2是位于本地Actor系统还是位于远程Actor系统中。
监督:在Actor对象之间建立依赖关系,父Actor对象监督子(下级)Actor对象。当监督者Actor对象向下级Actor对象分派任务时,就必须对这些下级Actor对象出现的失效情况做出回应。合法的回应包括继续运行、重启和停止下级Actor对象。监督者还可以通过使本身失效从而使失效情况升级,这会将失效控制权上交给监督者的父对象(监督者的监督者)。监督机制适于在并行处理方式中使用,在该方式中监督者会将多个任务分派给多个下级对象,从而形成任务处理层级。
Future/Promise对象:这两种对象提供了接收异步操作结果的手段,不论该结果是代表异步操作成功完成还是异步操作出现失效情况。为了管理接收到的结果,系统需要使用特殊的Actor对象(如Future和Promise)。拥有Future对象的组件可以选择以等待/阻塞方式接收结果,也可以选择以异步方式接收结果。
管理不确定性系统
什么是不确定性,为什么我们要关心它呢?在应用程序开发过程中,不确定性系统是指当使用相同的输入数据多次执行程序时,会输出不同结果的系统。事件驱动的响应式应用程序天生就具有不确定性,实际上,不应将不确定性和不可靠混为一谈,只要你了解了应用程序产生不确定输出结果的情况,就不必过于担心程序的不确定性。具有天生不确定性的是由事件驱动的架构,而Actor模型只不过恰好是一种由事件驱动的架构。而且,通过引入Actor对象(Actor对象本身是一种具有原子确定性的单元),Actor模型还能够帮助我们推导天生具有不确定性的并发业务系统。因此,真正的决策点是使用无法伸缩的单线程架构设计程序,还是使用可管理的、多线程的、由事件驱动的架构设计程序。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。