分布式系统中Akka的消息传递、状态管理与容错机制
1. 消息传递基础
在处理异步编程时,我们常常会遇到一些问题,比如在日志中看到死信消息。一旦遇到并解决这类问题,就相当于正式加入了异步编程的行列。在消息传递方面,有几种常见的模式需要我们掌握:
- Ask :用于向Actor发送消息并期望得到响应。
- Tell :单向发送消息,不期望响应。
- Forward :将接收到的消息转发给其他Actor。
- Pipe :可简化与Futures的协作。
在学习这些模式时,我们可以通过一些练习来加深理解:
1. 通用学习练习 :
- 在查看GitHub上的源码之前,先尝试构建本章中的示例。
- 使用Ask设计,创建一些执行工作的Actor和一个结果缓存。
- 利用Pipe改进设计。
- 运用“Tell Don’t Ask”原则,消除Ask操作,完成相同的工作。
- 尝试使用“Tell Don’t Ask”原则从额外的Actor向多个Actor组合请求,可能需要使用匿名Actor。
- 在之前的设计中设置超时。
- 将缓存Actor设置为远程Actor后重复上述操作。
2. 项目作业练习 :
- 选择一项功能,尝试使用Ask实现。
- 尝试改变行为以避免使用Ask。
- 评估设计的优劣,并到相关论坛(如http://www.c
超级会员免费看
订阅专栏 解锁全文
68

被折叠的 条评论
为什么被折叠?



