AKKA(一)认知AKKA】的更多相关文章

前言.... Akka作为一个天生用于构建分布式应用的工具,当然提供了用于分布式组件即Akka Remote,那么我们就来看看如何用Akka Remote以及Akka Serialization来构建分布式应用. 背景 很多同学在程序的开发中都会遇到一个问题,当业务需求变得越来越复杂,单机服务器已经不足以承载相应的请求的时候,我们都会考虑将服务部署到不同的服务器上,但服务器之间可能需要相互调用,那么系统必须拥有相互通信的接口,用于相应的数据交互,这时候一个好的远程调用方案是一个绝对的利器,主流的…
Akka 是一个用 Scala 编写的库,用于简化编写容错的.高可伸缩性的 Java 和 Scala 的 Actor 模型应用.它已经成功运用在电信行业.系统几乎不会宕机(高可用性 99.9999999 % 一年只有 31 ms 宕机). Actor模型并非什么新鲜事物,它由Carl Hewitt于上世纪70年代早期提出,目的是为了解决分布式编程中一系列的编程问题.其特点如下: 系统中的所有事物都可以扮演一个Actor Actor之间完全独立 在收到消息时Actor所采取的所有动作都是并行的,在…
本博客讨论一下akka在秒杀场景下的应用,提出自己的见解,只做抛砖引玉,大神勿喷.秒杀活动涉及到前中后台各个阶段,为了说明问题,我们简化场景,只研究akka在后台如何处理秒杀业务. 秒杀活动 所谓的秒杀活动,简单点来说,就是把某个稀缺商品或促销商品,挂到页面,供大量客户抢购.这里有两个关键点,商品数量不多,客户量非常大或抢购流量非常大.客户量或抢购流量往往意味着并发量非常大,容易给服务器造成很大的瞬时压力. 同样,为了简化问题,我们把秒杀活动中的概念也进行简化,分为库存和抢购请求.库存:待抢购商…
由于本人爱好Scala,顺便也就爱好Akka,但目前网上对Akka的介绍大多都是概念上或技术方向上的介绍,基本没有Akka设计模式或者Actor模型设计模式的资料.这对于Akka的普及非常不利,因为即使大家知道了Akka的基本功能和框架,也很难用它来正确的设计一个系统. 鉴于上述情况,我准备将使用Akka开发系统中总结的设计模式或者最佳实践分享出来,供大家参考. 考虑到读者对Akka的认知程度不同,这个博客系列大致会分几个部分:Actor模型.Akka基本概念.Akka基本组件介绍.Akka基本…
因为经常买双色球,嫌每次对彩票号麻烦,于是休息的时候做了个双色球兑奖的小程序,做完了发现业务还挺复杂的,于是改DDD重做设计,拆分服务,各种折腾...,不过这和本随笔没多大关系,等差不多了再总结一下,有空就写出来. 上面说了拆服务,拆成了录入,开奖,兑奖三个服务,三个服务开始是用消息队列的,不过后来发现其实就是服务的领域对象之间的交互,就联想到了Actor,面向对象于是一切都是对象,actor也是一切都是actor,看着就门当户对,于是就干掉消息队列...细节以后有机会再说. 上面其实也和这随笔…
Akka.NET 1.1近日发布,带来新特性和性能提升.InfoQ采访了Akka.net维护者Aaron Stannard,了解更多有关Akka.Streams和Akka.Cluster的信息.Aaron还阐述了与Akka for JVM实现有关的路线图计划. InfoQ:这个版本有什么突出的特性? Aaron Stannard:Akka.NET 1.1的主要目标是将Akka.Cluster由Beta测试版程序包变成最终版(RTM)程序包.该版本还提供了测试工具,对在生产环境里运行Akka.NE…
Akka.NET 是Java/Scala 流行框架Akka的一个 .NET 开源移植.可用于构建高并发,分布式和容错事件驱动的应用在 .NET 和 Mono 平台之上.Akka.NET 经过一年多的努力,发布 1.0 正式版,最新版本是1.0.4 ,具体参见 https://github.com/akkadotnet/akka.net/releases !Akka.NET 1.0 已经支持Mono平台,还有清晰的指南,还有 HOWTO,让开发者添加新特性的同时可以很方便的添加相关的文档 Code…
原文地址:http://rerun.me/2016/05/21/akka-notes-finite-state-machines-1/ 我最近有个机会在工作上使用了Akka FSM,是个非常有趣的例子.API(实际上就是DSL),使用体验很棒.这里是我尝试用Akka FSM的有限状态机来写日志.作为例子,我们会以构建一个咖啡机的步骤作为例子. 为什么不用BECOME和UNBECOME 我们知道plain vanilla Akka Actor可以用become/unbecome切换行为.那么,为什…
失败更像是分布式系统的一个特性.因此Akka用一个容忍失败的模型,在你的业务逻辑与失败处理逻辑(supervision逻辑)中间你能有一个清晰的边界.只需要一点点工作,这很赞.这就是我们要讨论的主题. ACTOR SUPERVISION 想象一个方法调用了你栈顶的方法但却出了一个异常.那么在栈下的方法能做什么呢? 抓住异常并按顺序处理恢复 抓住异常,也许记个日志并保持安静. 下层的方法也可以选择无视这个异常(或者抓住并重扔出来) 想象下一直扔到main方法仍然没有处理这个异常.这种情况下,程序肯…
原文地址:http://rerun.me/2014/10/21/akka-notes-actor-lifecycle-basic/ (请注意这了讨论的生命周期并不包括 preRestart 或者postRestart方法,当我们讨论supervision时候我们会说这个) 基本的Actor生命周期很直观.除了一点小不同,你可以直接拿基本Actor生命周期与Java Servlet生命周期作比较. 像其他常规类一样,我们有一个构造函数. preStart方法会被调用. 这里你可以在postStop…