閱讀344 返回首頁    go 阿裏雲 go 技術社區[雲棲]


柏林紀行(中):Node.js Collaboration Summit

本文首發於 alinode 團隊博客 https://alinode.aliyun.com/blog/44

傳送門:

Node.js Collaboration Summit

比較沉重的思考寫完,下麵是比較輕鬆的部分了……按照時間順序,先記錄一下 Node.js Collaboration Summit 的見聞。

Node.js Collaboration Summit 在 JSConf 會場附近的 co up 舉辦,主要以各個 working group 分組討論以及集體討論一些重要 issue 的形式進行。因為航班的緣故錯過了第一天早上的 introduction 所以沒有認全人,不過還是認識了很多一起 code review 過的 GitHub ID 的本尊,參與了部分討論。

HTTP/2

目前 nodejs/http2 的 master 還在繼續和上遊的 master 同步,基本實現已經完成,主要缺測試和進一步檢查有沒有內存泄漏等問題。經過和 npm 上 http2 的維護者溝通後確定這個模塊最終的名字是 http2,通過 npm 的安裝機製來保證未來跑在老版本 Node 使用 npm 包的代碼依然能夠正常運行,但是升級到新版本的 Node 如果 require('http2') 就需要遷移到 Node Core 自己的這個實現了。

Diagnostics

目前大多數 APM 廠商都是通過 monkey-patch Node.js 裏的模塊獲取必要的監控信息的,但是這樣很容易造成兼容問題並且互相衝突。計劃對各家 APM 插入代碼(instrumentation)的方式總結一下 best practices,編寫一個不斷更新的文檔來為 core 模塊和用戶模塊提供指導,方便多方代碼和諧共處。另外或許可以統一一下 APM 廠商輸出監控信息的格式,一個想法是使用 V8 的 trace events API,但問題是目前大多數 APM agent 都是在 JS 層插入代碼的,而 trace events API 是 C++ 層的,如果產生跨 JS 和 C++ 層的調用會增加性能損失。另一個方案是各家聯手設計一個 JS 的 API,不過這個 API 可能需要放在 core 裏否則沒法在生態係統裏落地。API 的設計可以借鑒 mongodb 的 APM API,他們自己維護這個 API,目前為止效果還挺不錯的。

TSC 的組織結構

現在 Node.js 的組織結構是 CTC(Core Technical Comittee)屬於 TSC(Technical Steering Comittee)的下屬,各個 working group 也在 TSC 下麵,CTC 和各個 WG 負責 Node.js 項目與生態係統日常的實際工作,TSC 的職能更偏行政一些,比如審批旅行經費的申請,這就導致了很多人對 TSC 的日常工作不感興趣,對參加 TSC 的工作會議也不是很積極。鑒於這個情況,一些人參考 TC39 的組織,希望能夠重新調整 Node.js TSC 的組織結構,改 CTC 為一個針對 Node.js Core 的 WG,和其他 WG 並列,並且提升一些非正式的 GitHub 團隊(如負責版本發布與維護 git 分支的 release 團隊)作為正式的 WG,不跨 WG 的爭議在 WG 內自行投票解決(類似現在 CTC 投票解決 Node.js Core 裏的一些決策爭議),跨 WG 的爭議提到 TSC 投票解決,每個 WG 隻有一票。日常偏行政的工作還是由 TSC 決定,但是不要求所有人都參加,隻要關心的人出來投票即可,這樣沒有強烈爭議的問題可以更快通過。同時,TSC 的職能也更偏重為各個技術團隊和 Node.js 基金會董事溝通的橋梁。

IMG_1157.jpg
Myles Borins 和 James Snell 向大家介紹他們對新架構的設想

與幾個日本 collaborator 的交流

這次到柏林見到了 Node.js Core 兩個比較活躍的日本開發者,Daijiro Wachi(和智大二郎)和 Yosuke Furukawa(忘記問漢字怎麼寫了……),他們也是 NodeFest(東京Node學園祭)的組織者,作為同是亞洲國家的 Node.js 開發者,他們對國內的 Node.js 社區也很感興趣,希望我們能夠多交流一下。此外還得知韓國也是有 Node.js 的會議的,叫做 playnode,他們問我中國有沒有 Node.js 相關的活動,想了一下好像隻有比較小的 Node Party 和 Node 地下鐵了,雖然 JSConf China 也有一部分 Node.js 相關的話題……

我和 Daijiro 因為之前一直在 GitHub 上一起參與 WHATWG URL 標準的實現所以比較熟,聊到了最近在日本很火的中國人不需要用現金的新聞(淒い勢いで進む中國のキャッシュレス社會、既に想像の遙か上に到達),順便介紹了一下阿裏的一些業務,另外在和幾個德國人聊天的時候他們也表示中國在這方麵比其他國家領先了不少,很多人對國內這方麵的生活方式都感到很好奇。

最後更新:2017-05-13 08:44:06

  上一篇:go  柏林紀行(下):JSConf EU
  下一篇:go  網站盜鏈是什麼?盜鏈與廣告流量問題及如何防止