squbsScala In Action

squbs-7. 配置参考

2017-01-24  本文已影响37人  吕亦行

原文地址:Configuration Reference

以下列出的是定义在 reference.conf中的squbs配置:

squbs {

  #squbs创建的actor system的名称
  actorsystem-name = "squbs"

  # 优雅关闭的超时时间
  # 在继承org.squbs.lifecycle.GracefulStopHelper特性的情况下,一个actor优雅关闭的默认超时时间
  default-stop-timeout = 3s

  # 一个额外的配置目录来扩展application.conf。文件夹的地址相对于squbs进程的工作文件夹。
  external-config-dir = squbsconfig

  # 一个额外的配置文件名列表,在 external-confi-dir中任何列表中的文件将会在Actor System初始化设置
  #  加载的时候被加载。除此文件列表之外, "application.conf" 将会被隐式加载。
  external-config-files = []
}

default-listener {

  # 所有的squbs监听携带"squbs.listener"类型
  type = squbs.listener

  # 在 cube's route声明通过不同名称绑定监听时,为监听加入依赖。
  # 只需要逗号分隔的名称就可以了,例如
  # aliases = [ foo-listener, bar-listener ]
  aliases = []

  # 服务绑定特定的地址/接口。默认是0.0.0.0 为任何地址/接口
  bind-address = "0.0.0.0"

  # 是否为地址绑定使用全主机名称
  full-address = false

  # 服务绑定的特定端口,默认为8080
  bind-port = 8080

  # 监听是否使用HTTPS
  secure = false

  # HTTPS是否需要客户端授权。 secure关闭,这个配置不会读取。
  need-client-auth = false

  # 提供任何的个性化的SSLContext?设置"default"以为着系统默认。
  ssl-context = default
}

blocking-dispatcher {
  # Dispatcher是基于事件调度器的名称
  type = Dispatcher
  # 使用哪种类型的ExecutionService
  executor = "thread-pool-executor"
  thread-pool-executor {
    #  factor-based 限制的最小核心线程数
    core-pool-size-min = 2
    # 通过使用公式ceil(available processors * factor).,核心线程数factor用于确定核心线程数。
    #  结果的大小在pool-size-min和core-pool-size-max之内
    core-pool-size-factor = 3.0
    #控制的最大factor-based线程大小
    core-pool-size-max = 24

    # factor-based 限制最小的最大线程数
    # (如果使用有界线程队列)
    max-pool-size-min = 2
    # 最大线程数通过计算确定(如果使用有界线程队列): ceil(available processors * factor)
    max-pool-size-factor  = 3.0
    # actor-based 限制的最大线程数(如果使用有界线程队列)
    max-pool-size-max = 24
  }

  # Throughput 定义每个actor处理的最大消息量,在跳向下一个actor之前。
  # 设置为1尽可能公平。
  throughput = 2

}

阻塞调度器(Blocking Dispatcher)

squbs的reference.conf 声明了 blocking-dispatcher用于阻塞 I/O调用。这是一个标准的Akka调度器配置。请查看dispatchers 获得更多细节。

监听(Listeners)

一个监听器绑定一个端口,这个端口的行为诸如安全,授权等。默认的监听由squbs的 reference.conf提供。可以通过提供application.conf或在扩展配置文件夹中的 application.conf覆盖。关于squbs如何读取这些配置文件,可以查看 Bootstrapping squbs

监听在配置文件的根级别上声明。这个名称通常参照*-listener格式,但并不是必须的。 在监听条目内的type 字段定义了这个条目为监听。它必须设置为squbs.listener。关于如何配置新的监听器来监听不同的端口,请参见上面的default-listener例子 。

除非服务路由将自己附加到监听器,监听器是不会启动的。换句话说,仅仅声明监听器不会导致监听器启动,除非监听器有真正的用途。

Pipeline

如果定义,一个默认的pipeline将被安装,对所有单个请求进行预处理,对所有返回进行后处理。服务可以指定一个不同的pipeline或不指定,这在Unicomplex & Cube Bootstrapping中有描述。应用或者基础设施可以实现他们自己的pipeline来预处理诸如打日志和跟踪。更多关于pipeline的细节描述请参见Streaming Pipeline.

上一篇下一篇

猜你喜欢

热点阅读