在本课程中,我们将学习如何使用功能强大的Akka Remoting and Clustering开发真正的分布式系统。您将自己在指导下编写1500多行Akka代码,您将成为摇滚明星。您将学习远程角色和集群的功能,包括集群单例和集群分片,通常需要几个月(甚至数年)才能掌握。
本课程面向需要设计高性能,大规模,反应式分布式系统的具有Scala和Akka经验的熟练程序员。我已经假设了对一般编程基础的扎实了解。
本课程不适合
- 以前从未编写过Scala代码
- 从未用过Akka
我相信理论和实践都很重要。因此,您将获得包含代码示例,真实代码演示和作业的讲座,以及其他资源,说明,练习和解决方案。
延伸阅读: Akka是一种消息驱动运算模式,它实现跨JVM程序运算的方式是通过能跨JVM的消息系统来调动分布在不同JVM上ActorSystem中的Actor进行运算,前题是Akka的地址系统可以支持跨JVM定位。Akka的消息系统最高境界可以实现所谓的Actor位置透明化,这样在Akka编程中就无须关注Actor具体在哪个JVM上运行,分布式Actor编程从方式上跟普通Actor编程就不会有什么区别了。Akka的Remoting是一种点对点的跨JVM消息通道,让一个JVM上ActorSystem中的某个Actor可以连接另一个JVM上ActorSystem中的另一个Actor。两个JVM上的ActorSystem之间只需具备TCP网络连接功能就可以实现Akka Remoting了。Akka-Remoting还没有实现完全的位置透明化,因为用户还必须在代码里或者配置文件里指明目标Actor的具体地址。
Akka-Remoting提供了两种Actor之间的沟通方法:
1、远程查找:通过路径Path查找在远程机上已经创建存在的Actor,获取ActorRef后进行沟通
2、远程创建:在远程机上直接创建Actor作为沟通对象
Akka-Remoting的主要应用应该是把一些任务部署到远程机上去运算。发起方(Local JVM)在这里面的主要作用是任务分配,有点像Akka-Router。我们可以用下面的例子来示范:模拟一个计算器,可以进行连续的加减乘除,保留累计结果。我们会把这个计算器部署到远程机上,然后从本机与之沟通分配运算任务及获取运算结果。
h264, yuv420p, 1280×720 |ENGLISH, aac, 44100 Hz, 2 channels, s16 | 6h 50 mn | 3.37 GB
Instructor: Daniel CiocГ®rlan
For Scala and Akka developers: write reactive distributed systems with remote actors, Akka Clustering and Scala