Akka介绍(Akka 1)

1  Akka介绍

       Akka运行在JVM上,能够构建高并发、分布式和高弹性的消息驱动应用程序的一个工具套件。Akka具有异步、高性能、扩展性等特性。


1.1     异步

       异步能够对单一机器和跨越一个分布式的架构的集群都有益处。在单一节点中,通过组织同步和管道的逻辑,它完全可能有巨大的吞吐量。通过LMAX的Disruptor模式一个优秀的架构实例,它能够在单一线程模型下处理大量的事务(event)。那就是说,它满足一个非常特殊使用案例配置:高容量、低延迟和优化队列消费结构的能力。如果数据没有进入生产者,disruptor必须找到方法保存线程繁忙执行,只用不丢失能够使它高效运行的预热缓存。它也能够高效地使用预分配,异变状态来避免垃圾收集(GC),但是,如果开发者不知道它们在做什么就危险了。

        伴随着异步编程,我们尝试去解决对于独占的CPU核的不固定线程执行问题,取而代之的是允许所有线程公平地访问一个变换的线程模型。我们想通过分阶段执行任务来为硬件提供一种能够充分利用CPU核的方法。这会导致上线文(context)不断切换,应为不同的线程在CPU核里被调用去做他们的工作,这不利于整体的性能,既然当那个线程需要CPU时,数据必须加载到一个CPU核的缓存硬件中。这样的话,你也需要提供能够批量异步执行的方法。这就使得代码实现起来很不合理,但是,运行开发者去调优线程来表现更加缓存友好。


        通过设计像Actor、Stream和Future那样高级抽象,那就是异步和分布式了。


1.2     高性能

在单个机器上,每秒50百万条信息,极小内存消耗;部署层面上,每个GB堆2.5 百万个actor节点。


1.3     弹性和非中心化

Akka提供了一套成熟的运行模式,支持适配集群管理、负载均衡、路由、分区和分片机制。


欢迎关注我的微信公众号


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Akka Scheduler是Akka框架中的一个任务调度器,它可以用于执行基于时间的调度任务。Akka框架是一个用于构建高并发和分布式应用的工具包,它基于Actor模型,提供了可扩展、高可用、高吞吐量的分布式计算能力。 在Akka框架中,Scheduler是一个全局的调度器,它负责执行所有的任务调度。Scheduler的使用非常简单,只需要调用ActorSystem.scheduler().schedule()方法即可创建一个新的任务调度。 Akka Scheduler支持两种类型的任务调度:一次性任务和重复任务。一次性任务只会执行一次,而重复任务会按照指定的时间间隔重复执行。调度时间可以使用Duration类型来定义,Duration类型可以表示时间间隔,例如1秒、2分钟等。 下面是一个使用Akka Scheduler创建任务调度的示例代码: ```java import akka.actor.ActorSystem; import scala.concurrent.duration.Duration; import java.util.concurrent.TimeUnit; public class SchedulerDemo { public static void main(String[] args) { ActorSystem system = ActorSystem.create("MyActorSystem"); // 创建一个一次性任务 system.scheduler().scheduleOnce(Duration.create(1, TimeUnit.SECONDS), new Runnable() { @Override public void run() { System.out.println("One time task executed."); } }, system.dispatcher()); // 创建一个重复任务 system.scheduler().schedule(Duration.Zero(), Duration.create(1, TimeUnit.SECONDS), new Runnable() { @Override public void run() { System.out.println("Recurring task executed."); } }, system.dispatcher()); } } ``` 在上面的示例中,我们创建了一个一次性任务和一个重复任务,它们分别在1秒后执行和每隔1秒执行一次。在实际开发中,我们可以使用Akka Scheduler来执行定时任务、清理任务、统计任务等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值