squbs-10. 為阻塞API調(diào)用的阻塞Dispatcher

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

這個(gè)話題并不討論一般的dispatcher,而是關(guān)于特殊的squbs dispatcher配置。請(qǐng)查看Akka documentation 獲得更多的dispatcher細(xì)節(jié)。

squbs提供了一個(gè)預(yù)設(shè)的dispatcher配置來(lái)使用阻塞調(diào)用。一般來(lái)說(shuō),這些用來(lái)同步調(diào)用數(shù)據(jù)庫(kù)。這個(gè)reference.conf 定義的blocking-dispatcher如下:

blocking-dispatcher {
  # Dispatcher 是基于事件的dispatcher的名稱
  type = Dispatcher
  #使用哪種ExecutionService 
  executor = "thread-pool-executor"
  thread-pool-executor {
    # 控制最小factor-base core線程數(shù)
    core-pool-size-min = 2
    # 核心線程factor用來(lái)確定線程核心線程數(shù),采用如下公式:
    # ceil(available processors * factor)
    # 結(jié)果為 core-pool-size-min和core-pool-size-ma之間
    core-pool-size-factor = 3.0
    # 最大的factor-based線程數(shù)
    core-pool-size-max = 24
    # 控制factor-based max 最小線程數(shù)
    # Minimum number of threads to cap factor-based max number to
    # (如果使用有界隊(duì)列)
    max-pool-size-min = 2
    # 最大的線程數(shù)由計(jì)算 ceil(available processors * factor) 確定
    # (如果使用有界隊(duì)列)
    max-pool-size-factor  = 3.0
    # 控制factor-based max 最大線程數(shù)
    # (如果使用有界隊(duì)列)
    max-pool-size-max = 24
  }
  # 在線程跳向下一個(gè)actor之前,吞吐量定義了每個(gè)actor處理的最大消息量
  # 設(shè)置為1則盡量的公平
  throughput = 2
}

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

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


 如果沒(méi)有任何actor使用blocking-dispatcher,blocking-dispatcher將不會(huì)被初始化,也不會(huì)請(qǐng)求獲取任何資源。

**警告:**  blocking-dispatcher 只能用在阻塞調(diào)用,不然性能會(huì)收到極大影響








最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,644評(píng)論 19 139
  • 原文地址:Unicomplex & Cube Bootstrapping Unicomplex和Cube的引導(dǎo) s...
    呂亦行閱讀 873評(píng)論 0 1
  • Working with Streams @官方文檔翻譯-李冰 @譯文 這一章介紹怎樣對(duì)讀/寫(xiě)流進(jìn)行創(chuàng)建、打開(kāi)、和...
    醉臥欄桿聽(tīng)雨聲閱讀 2,165評(píng)論 2 0
  • 用于阻塞式API調(diào)用的阻塞式調(diào)度器 本主題不是關(guān)于一般的調(diào)度器,而是關(guān)于squbs特定的調(diào)度器配置。請(qǐng)查看Akka...
    樂(lè)言筆記閱讀 304評(píng)論 0 0
  • 下面的列表是reference.conf義的squbs配置默認(rèn)值: squbs在reference.conf中申明...
    樂(lè)言筆記閱讀 258評(píng)論 0 0

友情鏈接更多精彩內(nèi)容