"Principles of Reactive Programming" 之<Actors are Distributed> (3)
Cluster
讲课的这哥们接下来讲了下Akka Cluster的使用,但是是通过把一个以前讲过的actor 系统改成使用cluster来介绍的Akka cluster. 这部分代码很多,还是直接看视频吧。或者,看这篇文章,
更直白一些,不用事先了解课程中那个比较复杂的例子。
还是从正常的顺序了解下Akka Cluster吧。
Akka Clustering用来解决什么问题?
Akka Cluster provides a fault-tolerant decentralized peer-to-peer based cluster membership service with no single point of failure or single point of bottleneck. It does this using gossip protocols and an automatic failure detector.
这句话的主干就是“Akka Cluster提供了一个cluster membership service"。
什么是"membership service"呢?按照课程的说法就是所有的成员都知道谁是这个cluster的成员,也就是所有的成员都了解谁在这个集群中 。
那么知道这些信息有啥意义呢?
在HDFS中,datanode并不知道谁在集群中, MapReduce的taskTracker也不知道,Storm的supervisor也不知道,对于这些分布式系统,只要master知道谁在集群中就可以正常工作了,但这也会造成单点的问题。那么,Akka Cluster呢? ”decentralized peer-to-peer based cluster membership service"。它没有单点,但是工作的组织就成了问题。当整个集群需要对某些东西达成一致,它们起码得知道哪些节点属于这个集群。另一方面,Akka Cluster的membership service还会提供成员的状态变化的通知,允许集群的成员跟据状态进行更复杂的操作,比如,主动把负载迁移到新成员。
membership service直接的体现就是集群中的结点可以订阅ClusterEvent.
Cluster(context.system).subscribe(actorRef, classOf[ClusterEvent.XXXX]
Akka只是提供这种构建分布式系统的基础服务,但是构造针对特定问题的分布式系统,还需要更详细的设计和实现。
"Principles of Reactive Programming" 之<Actors are Distributed> (3)的更多相关文章
- "Principles of Reactive Programming" 之<Actors are Distributed> (1)
week7中的前两节课的标题是”Actors are Distributed",讲了很多Akka Cluster的内容,同时也很难理解. Roland Kuhn并没有讲太多Akka Clus ...
- "Principles of Reactive Programming" 之<Actors are Distributed> (2)
Actor Path 我们知道actor是有层级的(hierarchical),第.每个actor在它的父actor的名字空间下都有一个名字.这样就构成了一个树状的结构,就像是文件系统.每个actor ...
- "Principles of Reactive Programming" 之 <Persistent Actor State>学习笔记
这是<Pinciples of Reactive Programming>week6的最后一课. 为什么需要把actor的状态持久化? 如果actor没有状态,那么在任何实时,这个acto ...
- Notes of Principles of Parallel Programming - TODO
0.1 TopicNotes of Lin C., Snyder L.. Principles of Parallel Programming. Beijing: China Machine Pres ...
- "reactive programming"的概念
下面的内容大多是翻译来的. Reactive Programming? What is Reactive Programming? 为了了解Reactive——从编程范式至其背后的动机,有必要了解现在 ...
- .Net中的反应式编程(Reactive Programming)
系列主题:基于消息的软件架构模型演变 一.反应式编程(Reactive Programming) 1.什么是反应式编程:反应式编程(Reactive programming)简称Rx,他是一个使用LI ...
- Unity基于响应式编程(Reactive programming)入门
系列目录 [Unity3D基础]让物体动起来①--基于UGUI的鼠标点击移动 [Unity3D基础]让物体动起来②--UGUI鼠标点击逐帧移动 时光煮雨 Unity3D让物体动起来③—UGUI DoT ...
- ReactiveCocoa与Functional Reactive Programming
转自 http://blog.leezhong.com/ios/2013/06/19/frp-reactivecocoa.html Functional Reactive Programming(以下 ...
- [Reactive Programming] RxJS dynamic behavior
This lesson helps you think in Reactive programming by explaining why it is a beneficial paradigm fo ...
随机推荐
- 如何查看Windows8.1计算机体验指数评分
如果你已经安装使用了Windows 8.1,你就会发现自从Vista时代开始的计算机体验评分消失了,在文章<微软取消Windows 8 计算机评分功能>中,我猜测了微软取消评分功能的可能原 ...
- response小结(五)—通过response实现请求重定向
请求重定向指的是一个web资源收到客户端请求后,通知客户端去访问另外一个web资源,这称之为请求重定向.302状态码和location头即可实现重定向. 请求重定向最常见的应用场景就是用户登录. 下面 ...
- CSS之鼠标经过字体光标形状的改变
CSS中的cursor属性是规定要显示的光标的类型(形状). 参阅JavaScript正则表达式 default 默认光标(通常是一个箭头) auto 默认.浏览器设置的光标. crosshair 光 ...
- MSSQL 数字钱转化为大写
--说明: --1.本函数范围从 毫 ~ 兆 --2.有四种精度(元,角 ,分,厘 ,毫) --3.有三种进位规则(四舍五入,接舍去,非0就入) --参数说明:dbo.MoneyToCapital( ...
- pl/sql developer 中文字段显示乱码
在windows中创建一个名为“NLS_LANG”的系统环境变量,设置其值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,然后重新启动 pl/sql developer,这样 ...
- mongoDB知识总结
官方说明文档:https://docs.mongodb.com/manual/mongo/ 1 NoSQL 简介 NoSQL,全称是”Not Only Sql”,指的是非关系型的数据库(相对于关系型数 ...
- 字符串转与ASCII码之间的互换
1.字符串转换成ASCII码 public static String stringToAscii(String value) { StringBuffer sbu = new StringBuffe ...
- indeed2017校招在线编程题(网测)三
A. Calculate Sequence 分析:就是斐波那契递推公式,但是初始值是指定的,只用求第10个数,数据范围和复杂度都比较小,直接写. B. 忘了叫啥了. 就是有a-j十个字符组成的字符串, ...
- How to Set Directory Permissions at Install Time using an MSI Created Using Windows Installer XML (WIX)
Original Link: http://blogs.msdn.com/b/cjacks/archive/2008/12/04/how-to-set-directory-permissions-a ...
- js中 在数组中删除重复的元素(自保留一个)
例如:var student = [‘qiang’,’ming’,’tao’,’li’,’liang’,’you’,’qiang’,’tao’]; 第一种思路是:遍历要删除的数组arr, 把元素分别放 ...