我们知道Spark总是以集群的方式运行的,Standalone的部署方式是集群方式中最为精简的一种(另外的是Mesos和Yarn)。Standalone模式中,资源调度是自己实现的,是MS架构的集群模式,故存在单点故障问题。 下面提出几个问题并解决: 1、Standalone部署方式下包含哪些节点?
1.Actor模型 在使用Java进行并发编程时需要特别的关注锁和内存原子性等一系列线程问题,而Actor模型内部的状态由它自己维护即它内部数据只能由它自己修改(通过消息传递来进行状态修改),所以使用Actors模型进行并发编程可以很好地避免这些问题,Actor由状态(state)、行为(Behavior)和邮箱(mailBox)三部分组成
在Actor系统中,actor之间具有树形的监管结构,并且actor可以跨多个网络节点进行透明通信。 对于一个Actor而言,其源码中存在Actor,ActorContext,ActorRef等多个概念,它们都是为了描述Actor对象而进行的不同层面的抽象。 我们先给出一个官方的示例图,再对各个概念进行解释。
Akka/Erlang的actor模型与Go语言的协程Goroutine与通道Channel代表的CSP(Communicating Sequential Processes)模型有什么区别呢?