Akka是一组开源库,主要用于设计跨主机的可扩展弹性系统。 Akka使得用户更加专注于业务,即使不关心系统底层的实现,也能保证系统的可靠、容错和高性能。
实际上,在目前常见的实践和编程模型中,大部分都没有很好的解决计算机体系结构设计中一些固有的、却十分重要的挑战。例如,对于分布式系统的运行环境,系统的组件经常会崩溃而无法响应,消息丢失之后无法跟踪,网络会延迟或者波动。这些问题即使在数据中心内部环境也时有出现,而在虚拟化体系结构中更是如此。
为了解决上述这些问题,Akka提供以下的方案:
1. 支持多线程但不使用像atomics或lock这样的底层的并发结构 - 开发者甚至不必考虑内存可见性问题。
2. 隐藏了系统及其组件之间的远程通信细节 ,开发者不用再编写和维护底层的网络通讯代码。
3. 提供了高可用、弹性扩展的集群架构,从而使得能够提供真正的响应式系统。
Akka使用actor模型提供了一定程度的抽象,使得编写大并发、大并行的分布式系统变得更加容易。Actor模型涵盖了整套Akka库,以便于开发者能从头到尾的了解和使用它们。也就是说,Akka提供了全面的集成和技术栈,开发者不用再选择其他的库来解决个别问题,从而遇到一些集成和整合问题。
通过学习Akka以及如何使用actor模型,开发人员将获得大量的工具集,并且在统一的编程模型下,有效地组合在一起,解决困难的分布式/并行系统问题,
网友评论