CNodeJS社区的Node App Engine启动内测

国内知名的Node.js社区CNodeJS最近启动了其Node App Engine服务(简称NAE)的内测,用户可以在App Engine中部署发布Node.js应用,并提供mongoDB数据库存储。InfoQ中文站通过内测账号访问了Node App Engine服务,了解了部署的过程,并采访了NAE的负责人廖凯苏千

\

目前,NAE基于Node.js 0.5.5版提供应用托管服务。对于内测账号,最多支持创建十个应用,每个应用可以选择独立的二级域名(采用xxx.cnodejs.net的格式,例如helloworld.cnodejs.net)。对于新创建的Node.js应用,可以选择启用mongoDB数据库。

\

在代码管理方面,NAE支持开发人员以压缩包(gz/zip)方式上传Node.js应用代码(如果多次上传,将覆盖同名文件)。同时,NAE还提供了Git Clone/Pull和npm install的功能,方便开发人员使用第三方代码和模块。

\

在线编辑是NAE服务的一个亮点。开发人员可以在称为NAE IDE的Web界面中直接打开有关代码文件进行修改和保存。其中,模块标准的package.json是应用的配置文件,name表示应用名字,main表示应用的执行入口文件。在保存之后,可以点击重启按钮来即时查看修改效果。同时,在IDE界面下方有stdout和stderr输出窗口显示。除此之外,NAE还提供了一些项目管理的功能,比如待办事项、邀请成员加入等。

\

在应用代码部署到NAE之后,开发人员即可发布,在汇总信息一览可以近乎实时的看到应用的内存消耗、堆内存、运行时间、进程ID号等。

\

针对Node开发者关心的问题,InfoQ中文站采访了NAE平台的两位负责人廖凯和苏千,他们详细介绍了NAE各个方面的情况。

\

InfoQ:NAE项目发起的目的是什么?何时会正式上线?

\
\

node.js对于初学者的门槛还是比较高的,要完整部署整套开发和运行环境,可能会吓跑很多初学者。CNode社区一直以来的目标是推动node.js在国内的发展。因此希望搭建一个特别简单、易用、高效、适合协作开发的node应用托管平台。同时也可以为国内一些没有自己服务器的node发烧友提供一个免费的应用运行环境。在社区贡献过node技术文章的作者,都可以首批使用NAE。这样有更多的技术文章出现,也会反过来促进node的发展。

\

目前还没有正式的上线时间,可能会在年底会发布。当前处于内测阶段,还有很多实用功能正在开发中。

\
\

InfoQ:内测进展如何?改进了哪些问题?

\
\

目前更多侧重核心系统的稳定性、兼容性、内置模块与node模块的筛选。

\

已实现对95%的js原生模块无缝支持,提供基于web的开发环境,以及mongodb的存储支持,提供了比较简单的协作开发与开发者社区功能。

\
\

InfoQ:NAE上线后会继续提供免费服务吗?有何规划?

\
\

社区版的NAE永远都不会收费,只是对于使用者会有一点小小的要求,希望是真心希望学习的node初学者或者node发烧友。

\

目前NAE的核心引擎部分,同时已经应用在阿里云的ACE中,ACE是一个类似于GAE的商业应用开发者平台。马上NAE核心引擎也会应用在淘宝实验室(Taobao Labs)的开发者平台中,为淘宝的开放平台(T.O.P)应用提供一个快速服务托管环境。

\

未来也欢迎和其他机构合作,但是这并不影响社区版服务的免费。

\
\

InfoQ:NAE系统的硬件配置如何?是否能够承受企业级的负载?

\
\

核心系统自身开销很小,线上环境使用阿里云提供的一台云服务器,8G物理内存+4核CPU。Node自身性能来说已经能承受很大的负载,目前性能测试结论在hello worlds erver下可以做到17k qps,更多的scaleout/scaleup处于开发计划中。

\
\

InfoQ:对每个应用来说,NAE是否有内存、CPU等资源的上限?

\
\

内测阶段从挖掘系统潜力来说没有做过多限制,内测结束后会对cpu和内存消耗做一定限制。

\
\

InfoQ:NAE的基本架构是什么样的?用到了哪些技术?

\
\

使用全新实现的Module引擎与沙箱作为应用容器,在沙箱内利用重新实现的require函数对模块调用进行安全处理,并利用v0.5系列提供的child_process.fork功能在独立子进程中运行应用,通过注入原生net模块将端口监听映射为unix sock监听,并结合独立运行的proxy模块解决多应用监听同一端口问题。

\
\

InfoQ:NAE为何选择mongoDB数据库?对于其他数据库的支持如何?

\
\

mongoDb简单易用,扩展性与功能都比较符合目前web开发的需求,且本身和js的结合比较好。

\

原则上有可用modules的数据库均可直接支持。

\
\

InfoQ:目前NAE上有哪些出色的应用可以演示?

\
\

目前已知的有趣应用:  (估计还有一些参加CNodejs大赛的应用还没暴露出来。)

\

在线书法:http://sufa.cnodejs.net/
\协助画图:http://paint.cnodejs.net/
\qchat:http://qchat.cnodejs.net/
\随机聊天:http://talk.cnodejs.net/
\天气API:http://weather.cnodejs.net/
\NodeBook:http://nodebook.cnodejs.net/
\NR牛博:http://nrblog.cnodejs.net/
\缩短网址还原:http://urlrar.cnodejs.net/
\NodeBlog:http://blog.cnodejs.net/
\关键词日记: http://keydiary.cnodejs.net/

\
\

InfoQ:NAE未来(一年内)会增加哪些新功能?

\
\

包括动态扩容、版本控制、web ide的完善与debug支持、协作开发、日志API、存储API、命令行工具、开发者社区等。

\
\

InfoQ:对Node.js的学习者有何建议?

\
\

js基础很重要;了解ecmascript 5;开发思路的转换(同步串行到异步并行);用于尝试,勤于测试。

\
\

开发人员在使用NAE时,需要注意一些事项:

\
  • 系统node使用v0.5.5版,使用时请注意与0.4.x的功能区别。\
  • 使用fs对文件进行写操作会触发整个文件的重新上传, 在写大文件时请慎重使用。\
  • 如有日志方面需求请暂时使用标准输出(stdout/stderr)实现, 很快将开发日志操作API。\

默认支持的第三方模块包括:

\
  • express\
  • connect\
  • mongoskin\
  • mongoose\
  • mysql-libmysqlclient\
  • jade\

如需使用其他模块请放入$app_home/node_modules即可。

\

另外,禁用的API有:

\
  • child_process\
  • net.listenFD()\
  • net.listen() 仅支持port与callback参数, 不支持监听unix domain sock与指定监听ip\
  • fs.rename() / fs.renameSync() 不支持对目录进行操作\
  • fs.link() / fs.linkSync()\
  • fs.symlink() / fs.symlinkSync()\

更多有关Node.js的新闻和文章可以查看InfoQ中文站的相关链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值