摘要: Akka是什么:“Akka是在JVM上构建高并发、分布式、弹性消息驱动应用的开源工具包”。弹性意味着要积极响应失败情况,从失败中恢复的能力。   其实Akka的定义很符合响应式领域模型,这个模型有几个基本特征:   1、弹性。面对失败的响应能力   2、伸缩性。不同负载情况下的响应   3、消息驱动。高内聚低耦合,通过异步消息隔离   4、响应能力。限定延迟 阅读全文
posted @ 2018-06-05 14:02 gabry.wu 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 与数据库或者存储系统交互是所有应用软件都必不可少的功能之一,akka开发的系统也不例外。但akka特殊的地方在于,会尽可能的将所有的功能都设计成异步的,以避免Actor阻塞,然而无法避免IO这类的阻塞操作。我们往往会把IO消息发送给单独的Actor进行处理,避免业务主逻辑受到阻塞。 在处理IO消息时,有两种模式:批量和单条。批量是指一次性处理多个消息,这样可以减少与存储系统的交互,提高吞吐量,适合处理大量消息;单条是指一次只处理一条消息,与存储系统交互次数增多,但可以尽快的处理当前消息,这在消息比较少时非常有用。 但系统往往是复杂的,待处理的消息的分布并不集中,业务繁忙时,短时间内消息很多,此时批量处理可以增加吞吐量;业务闲暇时,消息零零散散,需要尽可能快的处理消息。一个优秀的系统需要能够识别并合适的处理这两种消息速率,用akka开发系统时,也需要拥有这种能力。 阅读全文
posted @ 2018-06-05 10:41 gabry.wu 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 作者属于Scala、Akka技术爱好者,但苦于Akka没有关于设计模式的文章,偶尔搜到《Akka应用模式》一书,如获至宝。现整理一些读书笔记和自己的感悟,以供参考。 阅读全文
posted @ 2018-06-05 09:34 gabry.wu 阅读(638) 评论(0) 推荐(0) 编辑