美文网首页squbsScala In Action
squbs-10. 为阻塞API调用的阻塞Dispatcher

squbs-10. 为阻塞API调用的阻塞Dispatcher

作者: 吕亦行 | 来源:发表于2017-01-26 11:14 被阅读20次

原文地址:The Blocking Dispatcher for Blocking API calls

这个话题并不讨论一般的dispatcher,而是关于特殊的squbs dispatcher配置。请查看Akka documentation 获得更多的dispatcher细节。

squbs提供了一个预设的dispatcher配置来使用阻塞调用。一般来说,这些用来同步调用数据库。这个reference.conf 定义的blocking-dispatcher如下:

blocking-dispatcher {
  # Dispatcher 是基于事件的dispatcher的名称
  type = Dispatcher
  #使用哪种ExecutionService 
  executor = "thread-pool-executor"
  thread-pool-executor {
    # 控制最小factor-base core线程数
    core-pool-size-min = 2
    # 核心线程factor用来确定线程核心线程数,采用如下公式:
    # ceil(available processors * factor)
    # 结果为 core-pool-size-min和core-pool-size-ma之间
    core-pool-size-factor = 3.0
    # 最大的factor-based线程数
    core-pool-size-max = 24
    # 控制factor-based max 最小线程数
    # Minimum number of threads to cap factor-based max number to
    # (如果使用有界队列)
    max-pool-size-min = 2
    # 最大的线程数由计算 ceil(available processors * factor) 确定
    # (如果使用有界队列)
    max-pool-size-factor  = 3.0
    # 控制factor-based max 最大线程数
    # (如果使用有界队列)
    max-pool-size-max = 24
  }
  # 在线程跳向下一个actor之前,吞吐量定义了每个actor处理的最大消息量
  # 设置为1则尽量的公平
  throughput = 2
}

如果actor需要使用blocking dispatcher,只需要如下配置actor:

"/mycube/myactor" {
dispatcher = blocking-dispatcher
}


 如果没有任何actor使用blocking-dispatcher,blocking-dispatcher将不会被初始化,也不会请求获取任何资源。

**警告:**  blocking-dispatcher 只能用在阻塞调用,不然性能会收到极大影响








相关文章

  • squbs-10. 为阻塞API调用的阻塞Dispatcher

    原文地址:The Blocking Dispatcher for Blocking API calls 这个话题并...

  • 阻塞与非阻塞区别

    2. 阻塞与非阻塞 阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态. 阻塞调用是指调用结果返回之前...

  • IO多路复用 2021-10-03

    阻塞和非阻塞 进程进入waiting状态,就是阻塞阻塞/非阻塞,关注的是调用方的状态,往往是与系统调用(syste...

  • netty为啥非阻塞

    netty 的非阻塞 到底是指的什么netty的非阻塞指的是nio多路复用器是阻塞的 其提供 非阻塞调用 阻塞调用...

  • nginx 事件驱动

    nginx时间循环 epoll 请求切换 阻塞调用 非阻塞调用 模块分类

  • 腾讯面经

    阻塞、非阻塞、同步、异步 的区别 阻塞阻塞调用是指调用结果返回之前,当前线程会被挂起(线程进入非可执行状态,在这个...

  • 同步阻塞IO,同步非阻塞IO,异步阻塞IO,异步非阻塞IO

    同步,异步 和 阻塞,非阻塞之间的区别? 同步,异步,是描述被调用方的。阻塞,非阻塞,是描述调用方的。 同步不一定...

  • 非阻塞connect和accept

    1 非阻塞connect 1.1 阻塞模式与非阻塞 调用connect会发起三次连接。 阻塞模式下,connect...

  • [翻译]squbs官网之12 阻塞式调度器

    用于阻塞式API调用的阻塞式调度器 本主题不是关于一般的调度器,而是关于squbs特定的调度器配置。请查看Akka...

  • IO:阻塞和非阻塞、同步和异步

    阻塞和非阻塞 阻塞的时候线程会被挂起 阻塞: 当数据还没准备好时,调用了阻塞的方法,则线程会被挂起,会让出CPU时...

网友评论

    本文标题:squbs-10. 为阻塞API调用的阻塞Dispatcher

    本文链接:https://www.haomeiwen.com/subject/axmxittx.html