跳過導覽

人員見面會

您知道此網頁由 Github Wiki 網頁 自動產生嗎?您可以自行前往 改善此網頁

部分見面會專注於 netty 本身的開發,因此只有人員能受邀參加這些見面會。不過,我們在會後會分享所有見面會的詳細資料,以讓所有參與 netty 開發的人員獲益。

2021 年 10 月 28 日

議程

  • 緩衝區更新
  • Netty Core/Contrib 儲存庫分開
  • HTTP 快取

簡報

https://github.com/netty/netty-website/blob/153b76239eb41ee287fac062cbb5d9537441def2/meetups/contributor_meetups/2021-10-28/slides.pdf

錄製

注意事項/行動方案

緩衝區更新

Chris 提供了一些與緩衝區 API 相關的更新。

一般

  • 我們解決了所有回饋意見
  • 讓生命週期更容易
  • 開始將模組轉換為新的緩衝區 API

生命週期

  • 不再顯示任何參考計數
  • 因為這樣,緩衝區永遠都是自有的,不再有切片/複製方法
  • 你必須使用新的 API,例如分割/複製/傳送來取代

整合

  • 整合度更高,因為現在可以直接透過設定檔設定「新的配置器」
  • 已提供預設實作
  • 已撰寫新的記憶體洩漏偵測器實作,可在新的 Buffer API 和實作中使用。

問題:Vladimir:配置器實作還是相同的嗎?組態等要怎麼辦?Chris:演算法部分相同,但我們希望重新檢視配置器的預設值/組態。

Vladimir:發布調校的文件會很好…Norman:對,我們應該這麼做!新增行動項目。

Julien:我想知道哪些編解碼器目前使用新的 API。Chris/Nitesh:目前使用新 API 的編解碼器不多。我們目前正致力於移植 HTTP/1。請查看並提供意見回饋:https://github.com/netty/netty/pull/11711

Julien:可以混合搭配新的 API 和舊的 API 嗎?Chris:可以,可以使用轉換方法。

Norman:我們應該在釋出 Beta1 版本時,將所有內容移轉到新的 API。

存放庫分割

Chris:我們希望將較少使用/專長較低的項目移到 contrib。

Simon:你如何「接軌」contrib 的新維護者等人?Norman:還不知道…讓我們新增一個行動項目

行動項目

  • 新增與配置/調校緩衝區配置器相關的文件
  • 思考如何讓新的維護者/貢獻者加入 contrib 模組
  • 對於 contrib 模組,我們甚至是否應該成立一個獨立的組織?Finagle 正在這麼做

2021 年 9 月 28 日

此次聚會著重在討論 HTTP/2 API 變更(https://github.com/netty/netty/pull/11603)。

簡報

https://github.com/netty/netty-website/blob/db820b93fff5711e0d1e698f3199164c7fa54918/meetups/contributor_meetups/2021-09-28/slides.pdf

錄製

https://github.com/netty/netty-website/blob/db820b93fff5711e0d1e698f3199164c7fa54918/meetups/contributor_meetups/2021-09-28/recording.mp4

行動項目

  • * H2 編碼器和次要通道上的流量控制器 → 我們是否應該移動到父通道以開始?避免潛在的重新排序,並對連線層級狀態有完整的可見度?
    • 利害關係人:eric,<nitesh、norman、chris、scott>
  • H2 通訊協定升級 → 我們是否應該支援 h2c,Websocket 呢?
    • 這是開放的討論項目,目前傾向於不支援純文字 (h2c) 升級。每個串流的 Websocket 升級應該是可行的,但尚未驗證。
    • 利害關係人:Moses、Julien、Susheel、<nitesh、norman、chris、scott>
  • 社群聚會 → 設定 wiki 來擷取聚會內容,建立一個地方讓大家可以要求下一次聚會的主題。
    • 利害關係人:norman
  • 早期採用者 → 我們需要大家檢閱公關,並踢 Netty 5.0 功能的輪胎(緩衝區、h2 api、壓縮等)
    • 利害關係人:<社群中的所有人 🎉❤️>

備註

  • 社群:雙月刊會議,分享議程,為無法出席的人員記錄筆記
  • 社群:Netty 5 必須能夠與 Netty 4 在同一個應用程式裡共存(不同的套件名稱、maven 座標、不同的 JNI 函式庫名稱和方法簽章)
  • 社群:(Moses、Eric、Violeta Georgieva) 有興趣降低子通道初始化的開銷
  • Eric:h2 PR 在控制幀與子通道之間的關係方面很難被理解後續。不清楚預期的改善是什麼,與常見的變更又有哪些不同。
  • Moses:h2c 升級的運作方式為何?
  • Julien:h2 的 Websocket。這將如何得到支援?
  • Susheel:Websocket 需要 h2c 升級嗎?我們可以使用 WebSocket 處理常數來進行升級嗎?
  • Eric:我們可以讓 H2 幀類型「原地不動」(緩衝區變更在 Netty 中無所不在)
  • Carl:可寫性如何運作?
    • Scott:如果我們使用流程控制來進行可寫性,那麼連線視窗更新必須連線到子通道
    • Eric:流程控制與可寫性之間不一定有緊密的耦合關係。取捨包括額外的記憶體,但有助於簡化實作/連線,並避免配置中斷和公平性問題。
  • Eric:編碼器和流程控制為何會在子通道上?
    • Eric:更加模糊不清,因為你只能看到位元組(有限制而無法看到其他幀)。透過通道共用 hpack 編碼器似乎很冒險,因為事件可能會重新排序。
  • 社群:沒有人表示有興趣實作自訂流程控制演算法,對於一開始將此套件保留為私人狀態,沒有異議
  • Eric:原型中有我們過去放棄的元件,我們如何設法讓效能好處發揮出來?
  • Eric:我們應該考慮 API 移轉解決方案,以協助移轉。例如,需要一個從 ByteBuf 到 Buffer 的解決方案,並考慮是否可以對 h2 等採取相同的作法。
上次檢索於 19-Jul-2024