注册 / 登录

Node.js 企业级 Web 开发框架实践

分会场:  数据科学/人工智能/数据驱动

 

案例来源 :

案例讲师

邵帅

蚂蚁金服 前端技术专家

蚂蚁金服体验技术部前端技术专家,Node开发者,egg&chair 框架开发者,基础中间件,web安全

扫描二维码分享案例

为什么这个案例值得分享?

Node应用虽然很火爆,但是真正用到生产环境作为像java一样大容量分布式可扩展的企业级应用需要付出很多努力。本次分享是阿里集团和蚂蚁金服集团在node开发框架部分的探索,对于使用node构建大型分布式应用有很多借鉴意义。

 

 

案例简述

 

如何使用 Node 构建企业级 Web 应用
1.我们选择 Node 的理由;
2.框架层面如何去解决;
3.涉及的点包括编程模型约束、进程模型、应用稳定性、测试、日志、安全、面向无线的开发、跨语言等。

 

案例目标

 

为了解决两个问题:多终端与soa的矛盾,服务下沉与用户体验灵活性的矛盾。
前后端联调效率是所有公司都要面临的问题,通过引入 node 开发,建设bff层应用,大幅提高研发效率。
本topic介绍我们这样选择的初衷以及框架设计中的思考。

 

成功(或教训)要点

 

一个技术想成为企业级开发的备选,必须证明自己不是 toy language。所以在web开发框架涉及的每一个点,都必须做到像 java 社区一样的完备性。一个 express 或者 koa 是绝对不行的。
主要是:应用性能要好、开发体验好用、完备。

 

案例ROI分析

 

投入:
-开发人员熟悉框架的成本(基于Koa,成本不高)
-发布系统对 Node 应用的支持改造
产出:
-全栈工程师独立完成任务成为可能
-对于 Soa 架构的系统来说前后端真正能够并行
-蚂蚁和阿里上百个应用的实践

 

案例启示

 

以Node作为平台进行web开发,能够满足企业级应用的需求,有三个重要的基础:
-约定。框架如何约束编程模型,给开发者提供统一的约束,提高开发效率,提高可维护性。
-完备。安全、RPC调用、性能、故障排查、日志系统、中间件等。
-扩展性。通过插件机制,提供统一的框架扩展方式。上面的完备性其实可以通过插件机制做扩展。

 

案例在团队中的意义

 

Node应用虽然很火爆,但是真正用到生产环境作为像java一样大容量分布式可扩展的企业级应用需要付出很多努力。本次分享是阿里集团和蚂蚁金服集团在node开发框架部分的探索,对于使用node构建大型分布式应用有很多借鉴意义。