COSCUP x UbuCon Asia 2026 標誌
  • 關於我們
  • 議程
  • 交通
  • 會場地圖
  • 社群
  • 贊助夥伴
    • 參與指南
    • 第一次參與
    • 活動參與
    • 講者參與
    • 前夜派對
    • 海外參與者
    • 開源社群、攤位及議程軌
    • 贊助夥伴
    • 邀請函申請指南
  • 工作人員
  • 周邊活動 / BoF
  • 部落格
  • 社群守則
English

用 Go 讀懂 Disruptor:從源碼理解高效能 Ring Buffer 的設計哲學

時間
2026-08-09 13:40 ~ 14:10
講者
黃國豪
位置
TR214
共筆
Golang TW x Cloud Native 中階中文

議程簡介

當你的 Go 服務開始出現 latency Spike,第一個懷疑對象往往是 channel。 Channel 內部的 mutex、GC 壓力、false sharing,這些問題在高吞吐場景下會被放大。 LMAX Disruptor 是金融交易系統中解決這類問題的經典方案,但它真的適合 Go 嗎? 本議題帶你從源碼出發,一起讀懂 smarty/go-disruptor 的設計,理解 Disruptor 為什麼快,以及在 Go 的生態下它的邊界在哪裡。

  1. Channel 的成本從哪裡來? 用 benchmark 展示 channel 在多核環境下的瓶頸,從 CPU cache line、false sharing 與 mutex contention 建立直覺,讓後續的源碼解析有具體的問題背景。
  2. 讀源碼:Ring Buffer 的核心設計 逐段解析 smarty/go-disruptor 的關鍵檔案, sequence.go 的 cache line padding 如何消滅 false sharing、sequencer.go 的 atomic 操作如何取代 mutex、producer/consumer gating 機制如何在不加鎖的情況下保證順序。
  3. Go Memory Model 的關鍵轉折 Go 1.19 正式明確了 atomic 操作的 happens-before 語義,這讓 smarty/go-disruptor 從 pre-release 進入穩定狀態。我們會從源碼理解這個語義保證在實作上意味著什麼,以及為什麼在這之前 lock-free 的 Go 程式碼其實站在不穩固的地基上。
  4. 邊界在哪裡:什麼時候 Channel 就夠了 以 exchange matching engine 的設計評估為例,說明在真實系統中如何判斷是否需要 Disruptor:吞吐量需求、團隊維護成本、系統複雜度的三角取捨。
  5. 從 Disruptor 借回 Go 的設計概念 即使不用 Disruptor,它的設計思想仍然可以改善你的 Go 系統:預分配 slice 減少 GC 壓力、struct padding 避免 false sharing、ring buffer 作為固定大小的 event queue。
  • 目標受眾: 對 Go 並發有基礎認識、對系統效能調優或底層設計感興趣的工程師。不需要有 Disruptor 或金融系統背景。
  • 帶走什麼: 讀源碼的方法、對 Go memory model atomic 語義的具體理解、一個判斷是否需要 Disruptor 的決策框架。 所有參考內容皆為公開開源專案,技術方法不依賴任何特定雲端平台或商業工具。

講者

黃國豪

黃國豪

我是 Dennis ,一名後端工程師,目前專注在 Datafusion 及分散式系統,程式之餘喜歡打排球。 希望能在開源的世界留下足跡。

鑽石級

Canonical

黃金級

連續贊助2 年中華民國資訊經理人協會連續贊助2 年國泰金融控股公司連續贊助5 年玉山銀行累計贊助12 年MySQL累計贊助6 年華捷智能股份有限公司Nitra

白銀級

累計贊助16 年慧邦科技股份有限公司  Gamesofa Inc.

青銅級

華娛網路娛樂股份有限公司財團法人國家實驗研究院國家高速網路與計算中心ONLYOFFICEQNAP Systems, Inc. 威聯通科技連續贊助16 年祐生研究基金會源鋼技術顧問有限公司 SUN SQUARE Co., Ltd

好朋友級

連續贊助3 年晶心科技股份有限公司沛星互動科技股份有限公司

特別感謝

連續贊助2 年臺北市政府資訊局美商賽發馥股份有限公司臺灣分公司Rozeta AI

共同主辦單位

累計合作9 年臺灣科技大學 電子工程系

協辦單位

累計合作12 年開放文化基金會

COSCUP x UbuCon Asia 2026

Conference for Open Source Coders, Users, and Promoters | 亞洲最大開源年會,由社群自發舉辦。

聯絡我們

  • 會眾服務
  • 贊助合作
  • 議程投稿
  • 行銷方案

相關資源

  • COSCUP 部落格
  • 訂閱電子報
  • 活動照片

網站導覽

  • 首頁
  • 關於我們
  • 交通資訊
  • 贊助夥伴
20062007200820092010201120122013201420152016201720182019202020212022202320242025