整理业务逻辑分析思路
Akka实现简单通讯功能
情景模拟:学生和老师远程交流。并行处理双方的收发信息。
demo for RPC
赵老师编程思路:
程序执行入口 包名:com._51doit.akka.Master
主服务器(scala: object or class?)要有程序执行入口,且需要创建该类的实例
从服务器 Worker 主从服务都需要单独启动,各自都要有专属的main方法
逻辑
先启动Master再启动Worker,worker给master建立连接发送消息,master返回消息给worker
给类添加相应的功能(类方法) worker发送消息的功能(自己写网络和IO过于繁琐,选择利用框架,集成或实现接口)
Master接收消息的功能通过集成重写Actor类中的Receive方法来实现
ctrl+i
实现未被实现的方法 (重写抽象方法,可以去掉override)
如何启动服务 管理Actor的角色是ActorSystem(单例:一个JVM中只有一个即可 创建并管理Actor) 不要强行记忆代码(开发环境辅助编程)
两种管理系统:MasterActorSystem WorkerActorSystem 写代码不是从上至下编写的(灵活)
RPC自娱自乐模式
1 | import akka.actor.{Actor, ActorSystem, Props} |
1 | import akka.actor.Actor |