akka的大名在之前学Scala的时候就时常听到,就连Scala作者都不得不赞叹它对actor实现的精妙。最近写一个服务端代码,对于接受到的请求需要查询后台多个数据库,这自然就想到用多线程来并行查询,然后把结果合并起来。这里最主要的就是多线程任务的执行以及执行结果的回调。这个时候突然回忆起用Scala时一个简单的“!”就实现了多线程调用的清爽和方便,那现在用java+akka框架是什么样呢?

先找到官方网站大概的翻阅了一下,惊讶的发现这个框架比想象中强太多了。一下载下来就看到很多高质量库,httpclient, netty, jetty, asm等等,这都不知道他具体想做成什么了。在官方看到一处说明,akka有两种使用方式,一种就是作为一个模块调用,另外一种就是作为一个服务。

看完文档后,感觉akka确实非常出色!实现了actor模式这点就不说了,首先就是有非常好的容错性,其次它居然还有对内存对象实现事务的功能,还有他能非常方便的实现远程调用以及线程间通讯,还能定制路由策略,对第三方框架的集成也非常好。基于上述的功能,akka完全有实力作为系统的核心框架,通过它简单的多线程调用方式和支持远程调用,实现一个分布式计算的系统非常容易。

最后还是给个小例子,代码很简单,只是用到的库非常多,放的位置也比较分散,自己慢慢找吧。

这个是TypedActor的接口:

  1. import akka.dispatch.Future;
  2. public interface MathTypedActor {
  3. public Future<Integer> square(int value);
  4. }

这个是TypedActor的具体实现:

  1. import akka.actor.TypedActor;
  2. import akka.dispatch.Future;
  3. public class MathTypedActorImpl extends TypedActor implements MathTypedActor {
  4. @Override
  5. public Future<Integer> square(int value) {
  6. return future(value * value);
  7. }
  8. }

这是调用的main方法:

  1. import akka.actor.TypedActor;
  2. import akka.dispatch.Future;
  3. public class MathTypedActorTest {
  4. public static void main(String[] args) {
  5. test();
  6. }
  7. private static void test() {
  8. MathTypedActor math = TypedActor.newInstance(MathTypedActor.class, MathTypedActorImpl.class);
  9. Future<Integer> future = math.square(10);
  10. future.await();
  11. Integer result = future.result().get();
  12. System.out.println(result);
  13. TypedActor.stop(math);
  14. }
  15. }

本文转自passover 51CTO博客,原文链接:http://blog.51cto.com/passover/517931,如需转载请自行联系原作者

初试超轻量级actor框架——akka相关推荐

  1. akka mysql_初试超轻量级actor框架——akka

    akka的大名在之前学Scala的时候就时常听到,就连Scala作者都不得不赞叹它对actor实现的精妙.最近写一个服务端代码,对于接受到的请求需要查询后台多个数据库,这自然就想到用多线程来并行查询, ...

  2. php yof框架特点_腾讯正式开源高性能超轻量级 PHP 框架 Biny

    概况 Biny是一款高性能的超轻量级PHP框架 遵循 MVC 模式,用于快速开发现代 Web 应用程序 Biny代码简洁优雅,对应用层,数据层,模板渲染层的封装简单易懂,能够快速上手使用 高性能,框架 ...

  3. 超轻量级 Javascript 框架,暂且取名为MYJS

    2008年3月7日 15:41 关于该JAVASCRIPT框架的文档和相关的Demo还没有写,先把一些开发过程中的测试界面放在此 http://www.taoxueba.com/myjs 上面的界面虽 ...

  4. Medoo 开源项目发布,超轻量级的PHP SQL数据库框架

    Medoo是一款超轻量级的PHP SQL数据库框架,由社交网站Catfan和开源项目Qatrix的创始人黎言卓开发.提供了简单,易学,灵活的API,提升开发Web应用的效率与性能,而且体积只有8KB不 ...

  5. 超轻量级DI容器框架Google Guice与Spring框架的区别教程详解及其demo代码片段分享...

    超轻量级DI容器框架Google Guice与Spring框架的区别教程详解及其demo代码片段分享 DI框架 Google-Guice入门介绍 转载于:https://www.cnblogs.com ...

  6. java actor akka_Java akka框架入门学习

    [日期:2020.04.20-2020.04.22] 看完下面的入门介绍之后,再看如下链接(对akka框架整体介绍)https://github.com/guobinhit/akka-guide​gi ...

  7. 超小型php框架,超轻量级的PHP框架 MiniFramework

    软件介绍 MiniFramework 简介 MiniFramework 是一款遵循 Apache2 开源协议发布的,支持 MVC 和 RESTful 的超轻量级 PHP 开发框架.MiniFramew ...

  8. Google 开源 AdaNet:快速灵活的轻量级 AutoML 框架

    雷锋网 AI 科技评论编者按:近期,Google 开源了轻量级 AutoML 框架-- AdaNet,该框架基于 TensorFlow,只需要少量的专家干预便能自动学习高质量模型,在提供学习保证(le ...

  9. 超小型php框架,MiniFramework

    MiniFramework 简介 MiniFramework 是一款遵循 Apache2 开源协议发布的,支持 MVC 和 RESTful 的超轻量级 PHP 开发框架,帮助开发者用最小的学习成本快速 ...

  10. 分布式应用框架Akka快速入门

    转自:分布式应用框架Akka快速入门_jmppok的专栏-CSDN博客_akka 本文结合网上一些资料,对他们进行整理,摘选和翻译而成,对Akka进行简要的说明.引用资料在最后列出. 1.什么是Akk ...

最新文章

  1. 聊聊jump consistent hash
  2. Cortex‐M3-总线接口
  3. LeetCode 1191. K 次串联后最大子数组之和(前缀和+分类讨论)
  4. 自研云原生数据仓库AnalyticDB再破权威评测TPC-DS世界纪录
  5. 【免费下载】2021年6月份热门报告盘点
  6. 红帽 与 CentOS 之间的恩怨情仇
  7. [leetcode]529. 扫雷游戏 DFS递归、BFS、DFS栈实现
  8. 卷积的物理意义是什么?
  9. [置顶] 程序员成长路上的团队修炼之道
  10. flask前端优化:css/js/html压缩
  11. ASP.NET的HTTP模块和处理程序之模块实现
  12. c语言 error c2227,error C2227: left of '-first' must point to class/struct/union
  13. 让机器人告别乱碰乱撞,激光导航让扫地机“睁开双眼”
  14. win10在哪打开ie浏览器?windows11怎么打开ie浏览器?
  15. 人文思考与科研探索之管锥篇
  16. Open Inventor 10.9.3 for Java Crack
  17. 【BZOJ1123】[POI2008]BLO【割顶】
  18. http://www.v2ex.com/ 技术论坛
  19. Wipro为悉尼水务局部署SAP S/4HANA®
  20. 服务器网络适配器多路传送器协议,win8系统开启Microsoft网络适配器多路传送协议的具体方法...

热门文章

  1. Atitit redis使用 attilax 艾提拉总结 1.1. Redis默认有16个库,默认连接的是 index=0 的那一个。解决与原来不方便查询查看的问题 1 1.2. redis不是现
  2. Atitit uke消防防火规范 attilax总结
  3. Atitit 财政赤字解决方案
  4. Atitit.数据库表的物理存储结构原理与架构设计与实践
  5. paip.Java Annotation注解的作用and 使用
  6. PAIP。AHK IDE及相关DOC
  7. Rust: 如何在Atom中用上Atom Beautify(绑定rustfmt)?
  8. 阿里云落地全球最大云原生实践:双11核心系统全面云原生化
  9. COSCon'19 开源治理论坛——技术之外,那些更重要的事
  10. 毕设题目:Matlab风电功率预测