Node.js采用 事件驱动 和 异步I/O 的方式,实现了一个单线程、高并发的运行时环境,而单线程就意味着同一时间只能做一件事,那么Node.js如何利用单线程来实现高并发和异步I/O?本文将围绕这个问题来探讨Node.js...
Node.Js
Web应用从服务端主动推送数据到客户端的方式有哪些?
HTTP协议遵循经典的客户端-服务器模型,客户端发送一个请求,然后等待服务器端的响应,服务器端只能在接收到客户端的请求之后进行响应,不能主动的发送数据到客户端。 客户端想要在不刷新页面的情况下实时获...
Nodejs和ES6模块化不同点
前言 历史上,JavaScript一直没有自己模块体系(module),无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。Javascript不是一种模块化编程语言,它不支持”类”(class),更遑论”模块”(mod...
API 接口设计: REST、GraphQL和GRPC怎么选择?
前言 为了快速、大规模地集成应用程序,API是使用协议或规范实现的,这些协议或规范定义了通过网络传递的消息的语义和语法。这些规范组成了API体系结构。 随着时间的推移,不同的API架构风格已经发布。 每...
Nodejs框架Koa常用的一些中间件
koa 是由 Express 原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的 Web 框架。使用 koa 编写 web 应用,通过组合不同的 generator,可以免除重复繁琐的回调函数嵌套,并极大地提升错误处理的效率。...
Node.js 事件循环(Event Loop)机制解析
前言 事件驱动、异步、单线程、非阻塞I/O,这是我们听得最多的关于nodejs的介绍。看到这些关键字,可能我们会好奇:"nodejs既然是单线程,那是怎么实现异步非阻塞的?" 这全都依赖于nodejs有一个非常强大的机...
基于Nodejs打造Web架构中间层
前言 Node.js自2009年诞生以来,发展速度相当惊人,目前各种开发框架层出不穷,国内外各大公司都在使用,如国内的阿里的淘宝、天猫、阿里云、蚂蚁金服,腾讯视频、携程、百度、网易、苏宁、京东、爱奇艺、去...