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

  • 时间:
  • 浏览:0

传送门:

本文首发于 alinode 团队博客 https://alinode.aliyun.com/blog/44

现在 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 基金会董事沟通的桥梁。



Myles Borins 和 James Snell 向亲戚亲戚让我们让我们介绍亲戚亲戚让我们让我们对新架构的设想

这次到柏林见到了 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 相关一段话题……

Node.js Collaboration Summit 在 JSConf 会场附进的 co up 举办,主要以各个 working group 分组讨论以及集体讨论什儿 重要 issue 的形式进行。可能航班的缘故错过了第一天早上的 introduction 太久那么 认全人,不过还是认识了太久一起 code review 过的 GitHub ID 的本尊,参与了次要讨论。

比较沉重的思考写完,下面是比较轻松的次要了……按照时间顺序,先记录一下 Node.js Collaboration Summit 的见闻。

我和 Daijiro 可能完后 一直在 GitHub 上一起参与 WHATWG URL 标准的实现太久比较熟,聊到了最近在日本很火的中国人不需用用现金的新闻(凄い勢いで進む中国のキャッシュレス社会、既に想像の遥か上に到達),顺便介绍了一下阿里的什儿 业务,另外在和几块德国人聊天的完后 亲戚亲戚让我们让我们也表示中国在这方面比什儿 国家领先了不少,太久人对国内这方面的生活措施都感到很好奇。

目前大多数 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,目前为止效果还挺不错的。

目前 nodejs/http2 的 master 还在继续和上游的 master 同步,基本实现可能完成,主要缺测试和进一步检查有那么 内存泄漏等现象报告 。经过和 npm 上 http2 的维护者沟通后选折 什儿 模块最终的名字是 http2,通过 npm 的安装机制来保证未来跑在老版本 Node 使用 npm 包的代码依然也能正常运行,而且升级到新版本的 Node 可能 require('http2') 就需用迁移到 Node Core 什儿 人的什儿 实现了。