一、AKKA是什么?
Akka是一个用于构建高并发、分布式、可容错、事件驱动的应用程序的工具包和运行时。它基于Actor模型,提供了一种高效的并发编程模型,可以轻松地编写出高并发、分布式、可容错的应用程序。Akka还提供了一些常用的组件,如路由、集群、持久化等,可以帮助开发人员更加方便地构建分布式应用程序。
- 一个开发库和运行环境,可以用于构建高并发、分布式、可容错、事件驱动的基于JVM的应用
- 使构建高并发的分布式应用更加容易。
- 虽然它由scala编写的,但也同时提供java api接口,所以使用java一样可以使用akka。
- 对并发模型进行了更高的抽象
- 是异步、非阻塞、高性能的事件驱动编程模型
- 是轻量级事件处理(1GB内存可容纳百万级别个Actor)
- 它提供了一种称为Actor的并发模型,其粒度比线程更小,你可以在系统中启用大量的Actor。
- 它提供了一套容错机制,允许在Actor出现异常时,进行一些恢复或重置操作。
- Akka既可以在单机上构建高并发程序,也可以在网络中构建分布式程序,并提供位置透明的Actor定位服务。
二、AKKA能做什么?
当前大数据领域火热的框架底层的分布式计算和通信实现都是Akka
一些使用Akka作为底层框架的知名项目包括:
- Apache Spark:一个用于大规模数据处理的分布式计算框架,使用Akka作为其底层通信框架。
- Apache Flink:也使用了Akka作为其底层通信框架。
- Lagom:一个基