eBay 编写第一个 Node.js 应用的经验(2)

机器级日志 - 这个等级包括CPU/内存和其他操作系统的运行状况。机器级日志运行于集群模块层中,我们扩展了npm cluster module并创建了eBay定制版。

负载均衡器级日志 - 所有的使用Node.js的机器都工作于一个负载均衡器之后,它负责向机器周期性地发送信息并保证一切运转良好。一旦有一台机器宕掉,负载均衡器就会紧急启用备用机器,并向运维和工程小组发出警告。

我们确保其生成的日志文件格式与Java版本的日志相一致,这样就可以生成与原来相同的大家熟悉的面板和报告了。

一个有关日志的主要难题在于Node.js event loop的异步特性。这将导致各项业务的顺序完全混杂在一起。下面这个例子可以让你更好的了解这个问题:Node通过异步调用启动了一次URL处理并访问数据库。这个过程将在数据库访问完成之前和下一次请求一并进行。这在诸如Node.js一类的事件驱动引擎中非常普遍,各种日志关于URL处理的日志混杂在一起,报告工具会生成混乱的输出。我们同时必须给出这个问题的短期和长期解决方案。

结论

完成了以上这些工作,我们可以让Hackathon项目运行起来了。这是eBay第一个以Node.js作为后端的应用。我们已经在内部员工之间进行了测试,有关其性能的反馈都相当不错。未来将更加精彩!

我们要为我们内部的Node.js专家Cylus Penkar喝彩,他一直在为这个项目进行引导并作出了贡献。有了这次Node.js后端的成功,eBay的技术团队正在使用Node.js打造一个完善的前端技术栈。这将包括我们现在大部分资源,这些功能包括本地化、资源管理(JS/CSS/images)以及项目跟踪。对于前端工程师来说,梦想实现了。我们可以自豪的说: “JavaScript is EVERYWHERE.”

相关阅读

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/af7f7bdf89baea425684aa8371fd79df.html