随笔分类 -  node

摘要:由表及里 HTTP服务器用于响应来自客户端的请求,当客户端请求数逐渐增大时服务端的处理机制有多种,如tomcat的多线程、nginx的事件循环等。而对于node而言,由于其也采用事件循环和异步I/O机制,因此在高I/O并发的场景下性能非常好,但是由于单个node程序仅仅利用单核cpu,因此为了更 阅读全文
posted @ 2017-07-19 20:26 royalrover 阅读(4578) 评论(0) 推荐(6) 编辑
摘要:socket.io与cluster 在线上系统中,需要使用node的多进程模型,我们可以自己实现简易的基于cluster模式的socket分发模型,也可以使用比较稳定的pm2这样进程管理工具。在常规的http服务中,这套模式一切正常,可是一旦server中集成了socket.io服务就会导致ws通道 阅读全文
posted @ 2017-06-01 18:06 royalrover 阅读(10177) 评论(20) 推荐(6) 编辑
摘要:背景 在node工程部署中,常常涉及到三方:本地客户端、跳板机和服务器(集群)。在通过git触发gitlab hook脚本后,需要在跳板机中执行相应的ssh命令执行shell文件启动node服务器,这需要使用一个常用的命令 setsid ,这样当ssh命令执行完毕shell退出后,node服务器仍正 阅读全文
posted @ 2017-05-08 22:01 royalrover 阅读(1808) 评论(3) 推荐(2) 编辑
摘要:sptt sptt是移动端UI自动化测试的一种解决方案,全称为 special tool of test 。sptt提供了一套测试解决方案,并使用命令行完成相关操作,最终可集成在各种后续的流程中。 sptt内部整合了第三方测试框架 appium,由appium层抹平iOS和android环境下的测试 阅读全文
posted @ 2017-04-19 17:10 royalrover 阅读(1112) 评论(0) 推荐(0) 编辑
摘要:Midlog中间件 node服务端开发中少不了日志打点,而在koa框架下的日志打点在多进程环境中日志信息往往无法对应上下文,而且在高并发下直接进行写buffer操作(内核调用writev)也会造成内存泄漏,因此Midlog就是为了缓解这种问题而产生的,其采用多种缓冲调度策略尽可能降低writev的代 阅读全文
posted @ 2017-04-06 16:53 royalrover 阅读(1571) 评论(0) 推荐(0) 编辑
摘要:需求背景 目前node端的服务逐渐成熟,在不少公司内部也开始承担业务处理或者视图渲染工作。不同于个人开发的简单服务器,企业级的node服务要求更为苛刻: 高稳定性、高可靠性、鲁棒性以及直观的监控和报警 想象下一个存在安全隐患且没有监控预警系统的node服务在生产环境下运行的场景,当某个node实例挂 阅读全文
posted @ 2017-01-04 09:25 royalrover 阅读(3234) 评论(1) 推荐(4) 编辑
摘要:模块加载痛点 大家也或多或少的了解node模块的加载机制,最为粗浅的表述就是依次从当前目录向上级查询node_modules目录,若发现依赖则加载。但是随着应用规模的加大,目录层级越来越深,若是在某个模块中想要通过 require 方式以依赖名称或相对路径的方式引用其他模块就非常麻烦,影响开发效率和 阅读全文
posted @ 2016-11-17 16:38 royalrover 阅读(3261) 评论(0) 推荐(4) 编辑
摘要:管道 通过“child_process”模块fork出来的子进程都是返回一个ChildProcess对象实例,ChildProcess类比较特殊无法手动创建该对象实例,只能使用fork或者spawn,而且与process对象不同的是,ChildProcess实例的stdin为可写流,stdout和s 阅读全文
posted @ 2016-10-17 14:34 royalrover 阅读(3517) 评论(0) 推荐(1) 编辑
摘要:在node中,只要涉及到文件IO的场景一般都会涉及到一个类-Stream。Stream是对IO设备的抽象表示,其在JAVA中也有涉及,主要体现在四个类-InputStream、Reader、OutputStream、Writer,其中InputStream和OutputStream类针对字节数据进行 阅读全文
posted @ 2016-06-05 13:09 royalrover 阅读(7213) 评论(0) 推荐(7) 编辑
摘要:@(node,watcher) watcher ,在如今的前端领域已经数见不鲜了。目前流行的gulp流程工具提供了watcher的选项,是我们在开发过程中不需要手动进行触发构建流程,转而根据文件(目录)内容改变来触发。 深入到watcher实现层,其实是基于node的fs.watch API,但是f 阅读全文
posted @ 2016-01-06 17:23 royalrover 阅读(1542) 评论(0) 推荐(5) 编辑

点击右上角即可分享
微信分享提示