NodeX Component - 滴滴集团 Node.js 生态组件体系
过去几年,Node.js 的兴起带来了前端领域的无数变革。而随着 Node.js 版本迭代中,对于 Node.js 的适用场景的探索也一直是前端领域让人津津乐道的话题。Node.js 席卷了整个互联网的前端领域,让过去仅仅局限在浏览器中前端,逐渐的渗透到了服务器的领域。随着 Node.js 在服务器领域的深入,各大互联网公司中也都在积极探索各种 Node.js 的更为健壮和广泛的适用场景。而整个滴滴集团的技术生态体系内,Node.js 也正在许多的生产项目中蓬勃绽放。
早在前几年,普惠泛前端以及金融泛前端就尝试在集团内探索 Node.js 的实践和落地,积极将传统的前端推向大前端领域,并在生产环境中考验自身以及 Node.js 的素质。无论是普惠泛前端还是金融泛前端团队,Node.js 在团队中都扮演了十分重要的角色,并结合集团的场景各自沉淀了大量组件。
到去年下半年,我们双方团队开始接触,在大前端的道路上相遇。共同商议下,决定让我们历史沉淀的经验能够在集团内铸就更大的价值,于是普惠泛前端和金融泛前端团队联手共建,打造了面向集团的 Node.js 组件生态体系 —— NodeX Component。
1.
NodeX Component 是什么?
我们设想并正在探索一个弘大的前端生态体系 —— NodeX,将依托微前端、微服务领域建设一整套集团内完备的解决方案,而 NodeX Component 则是 NodeX 的基础设施之一 —— 通用组件。
Nodex Component 提供常用的 Node.js 基础组件模块,同时这些常用组件和集团各个服务进行打通 —— 助力业务上岸服务端,加持 Node.js 服务的稳定性。
NodeX Component 具有以下特性:
⁃ 简单通用 - 提供 Node.js 强大的、通用封装的基础组件
融合集团 - 贯穿集团生态,我们历史积累的经验可以快速被复制和使用
TypeScript - 完美支持 TypeScript,强大的类型推导和详尽的文档注释,用的简单,用的舒适
稳定性保障 - 组件都经过实际生产浩大的流量验证,100% 的单测覆盖率保障稳定
性能卓越 - 历史经验和生产流量的沉淀,让组件的性能卓越
2.
面向集团服务的一体化解决方案
NodeX Component 的组件大多都意味着一个完善的解决方案。
NodeX Component 的核心是面向集团现有服务的经验沉淀。大多数组件不仅仅是一个工具库,它背后往往意味着完善的集团服务。
比如说 NodeX Component 里面常用的一个组件:nodex-logger。我们的 Node 服务基本都需要打印日志,而集团层面有对应的日志规范,而符合集团规范的日志可以接入 数据平台、把脉 等多个集团基础服务。所以 nodex-logger 的背后不仅仅是打印日志,它意味着你可以很快的、无缝接入集团服务的能力。类似的组件涵盖了 NodeX Component 80% 的组件,NodeX Component 的背后是一整套集团服务的闭环,我们可以通过 NodeX Component 从而快速接入到集团的这些服务。
下面这张图列举了 NodeX Component 的部分组件,背后可以对接的集团服务。
完整的组件服务:
3.
普惠更多前端,泛前端团队
组件在项目中是非常常见的,而优质的组件往往需要经过大量的历史经验沉淀,以及流量的考验。NodeX Component 中的组件都在经历过真实的生产环境的鞭策,在历史的翻车和事故中沉淀了不少经验。大部分组件的解决方案都在线上跑了两年、甚至三年左右,持续不断的踩坑和维护,才锤炼出组件的稳定。
我们建立 NodeX 的体系,也是希望能够汇聚集团内更多的前端、泛前端团队,能够联动起来学习、沉淀、探索、建设、和分享大家历史沉淀的解决方案。于此同时,输出我们的历史经验,下沉到各个业务与项目,能够为更多的团队提供优秀的解决方案和常用的生态组件。
4.
未来的方向
NodeX Component 是一个开始,实际上,在 NodeX 的建设规划体系内,我们还会做许多解决方案的探索。
聚焦于 NodeX Component 本身上,我们接下来还会持续不断去集成更多服务的能力,提供更多的组件,覆盖大家更多的业务场景痛点,当然与此同时,我们也会持续不断的强化组件的稳定性,和组件的性能。
在接下来的时间里,我们也会产出更多的文章,为大家介绍我们的组件和依赖服务的集成,以及剖析和分享各个组件中优秀的解决方案。
更多精彩文章,请扫码或长按下方二维码阅读原文
版权声明: 本文为 InfoQ 作者【滴滴普惠出行】的原创文章。
原文链接:【http://xie.infoq.cn/article/78cc5073719be48689998a016】。文章转载请联系作者。
评论