:“Node 在有赞的实践 - 掘金1” 【内容摘要】:这篇文章讲述了有赞公司在Node.js技术的应用和框架的演进过程。早期,有赞使用Koa框架和中间件构建了内部管理系统,随后发展出项目模板和自定义框架Astroboy(阿童木)。随着项目的增多,框架逐渐演化,以满足不同业务需求,如高度可扩展的插件机制和定制化能力。此外,文章还提到了基于Koa2的Youzan Base Framework,用于集成基础服务和监控,以及如何根据业务复杂性选择框架。 【详细知识点】: 1. **服务化**:文章提到,有赞的早期项目采用Node.js进行全栈开发,随着项目的发展,服务化成为必要。服务化拆分使得系统更模块化,每个服务有明确的职责,如健康检查、运维监控系统、全链路监控和Dubbo服务调用接入,以提高系统的可维护性和扩展性。 2. **技术栈选择**:有赞最初选择了Koa作为Node.js的基础,后来基于Koa开发了自己的框架Astroboy。选择Koa的原因可能是其轻量级和中间件机制,能快速搭建项目。 3. **框架迭代**: - **Koa+中间件**:初期项目中,有赞使用Koa搭配中间件快速构建项目。 - **项目模板**:随着经验积累,有赞创建了一个项目模板,方便快速启动新项目。 - **阿童木1.0**:为了解耦框架和业务代码,有赞从模板中抽离出Astroboy框架,为项目提供基础结构。 - **阿童木2.0**:为了支持不同业务场景和定制化需求,进行了重构,加入了基于Koa2的高性能表现、定制上层框架的能力和高度可扩展的插件机制。 4. **核心概念**: - **定制上层框架**:如Youzan Base Framework,是在Astroboy基础上定制的基础框架,集成有赞内部的日志监控系统等基础服务。 - **插件机制**:允许根据业务需求添加或移除特定功能,增强了框架的灵活性和适应性。 - **渐进式开发**:允许根据项目复杂性逐步增加框架功能,简化小型项目的开发,同时支持大型项目的复杂需求。 5. **项目结构**:对于简单的业务,可以直接基于Youzan Base Framework开发;对于复杂的业务,可以先定制业务框架(如Iron Base Framework),然后按业务模块拆分为子项目。 6. **监控系统**:健康检查、运维监控和全链路监控是确保服务稳定性的关键,有助于定位和解决性能问题。 通过这些实践,有赞展示了如何在实际业务中有效利用Node.js,不断优化和改进框架,以适应不断变化的技术和业务需求。
剩余11页未读,继续阅读
- 粉丝: 32
- 资源: 319
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0