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

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

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

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

这个是TypedActor的接口:

importakka.dispatch.Future;

publicinterfaceMathTypedActor {

publicFuture square(intvalue);

}

这个是TypedActor的具体实现:

importakka.actor.TypedActor;

importakka.dispatch.Future;

publicclassMathTypedActorImplextendsTypedActorimplementsMathTypedActor {

@Override

publicFuture square(intvalue) {

returnfuture(value * value);

}

}

这是调用的main方法:

importakka.actor.TypedActor;

importakka.dispatch.Future;

publicclassMathTypedActorTest {

publicstaticvoidmain(String[] args) {

test();

}

privatestaticvoidtest() {

MathTypedActor math = TypedActor.newInstance(MathTypedActor.class, MathTypedActorImpl.class);

Future future = math.square(10);

future.await();

Integer result = future.result().get();

System.out.println(result);

TypedActor.stop(math);

}

}

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

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

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

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

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

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

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

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

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

  5. Scala系列-5、scala中的泛型、actor、akka

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 传送门:大数据系列文章目录 目录 scala的 泛型 给方法定义泛型 给类定义泛型 泛型的上下 ...

  6. Akka的Hello World(一)Akka的Actor架构

    一. Actor层次结构 Akka的Actor总会有他的父母.通常,您通过调用getContext().actorOf()创建一个actor .这不是创建一个"独立"Actor,而 ...

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

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

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

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

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

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

最新文章

  1. 【MediaPipe】(3) AI视觉,人脸识别,附python完整代码
  2. ssm过滤器可以只过滤html吗,SSM登陆验证之过滤器实现
  3. CSS中颜色代码和单位
  4. [C# 基础知识系列]专题六:泛型基础篇——为什么引入泛型
  5. ant 路径_在Ant中显示路径
  6. LeetCode 1155. 掷骰子的N种方法(DP)
  7. 【高并发】面试官:讲讲高并发场景下如何优化加锁方式?
  8. 怎么实现两周联动加减速_LOL:野辅联动成版本主旋律,三大辅助对线游走兼备...
  9. mysql模糊查询占位符python_python中的mysql数据库like模糊查询
  10. Android面经分享,失业两个月,五一节前拿到offer
  11. spring mysql 多数据源_spring框架学习【多数据源配置】
  12. dubbo中源码之缓存设计
  13. 外服封号_王者荣耀外服玩家被封号十年吐槽无辜,官方复审后,玩家表示轻了...
  14. android地图三段滑动,android – 像谷歌地图一样滑动BottomSheet
  15. mysql完成字符串分割
  16. 【GlobalMapper精品教程】007:如何加载谷歌卫星影像?
  17. 余额表前后台操作和对应sql
  18. Excel如何合并单元格
  19. php下载太慢,迅雷下载速度慢的几种解决方法
  20. axios请求发送两次请求_vue使用axios发送请求,都会发送两次请求

热门文章

  1. Linux之父新年首次“炮轰”:英特尔在扼杀整个ECC行业
  2. 2020年度“博客之星”报名开启!万元大奖等着你
  3. API 安全最佳实践,不要等出事后“捶胸顿足”
  4. 新基建东风下,开发者这样抓住工业互联网风口!
  5. Rancher获4000万美元D轮融资,推动计算无处不在
  6. 由于区块链的影响,我决定转行!
  7. Python 持续点火,跟进还是观望?
  8. Google 又逆天:语音输入离线实时输出文字,仅占 80 MB !然而……
  9. 他帮 10 多家公司变身独角兽,总结出一份“成功”清单
  10. CSDN 创始人蒋涛:AI 定义的开发者时代