加载中
用nodejs写个压测小玩具

基本的想法是开启多个进程,每个进程发送多个请求。 入口文件index.js const childProcess = require('child_process');const path = require('path');const { processes } = require('./co...

11/26 00:16
5
通过nodejs源码理解http pipeline的实现

http1.0的时候,不支持pipeline,客户端发送一个请求的时候,首先建立tcp连接,然后服务器返回一个响应,最后断开tcp连接,这种是最简单的实现方式,但是每次发送请求都需要走三次握手显然会...

11/21 12:28
5
通过nodejs源码理解http connect的原理和实现

分析http connect实现之前我们首先看一下为什么需要http connect方法或者说他出现的背景。connect方法主要用于代理服务器的请求转发。我们看一下传统http服务器的工作原理。1 客户端和代理服...

11/22 00:00
11
格物致知-记一次nodejs源码分析的经历

昨天分析http模块相关的代码时,遇到了一个晦涩的逻辑,看了想,想了看还是没看懂。百度、谷歌了很多帖子也没看到合适的答案。突然看到一个题目有点相识的搜索结果,点进去是Stack Overflow上...

更新《理解nodejs原理》目录

目录 第一章 Nodejs组成和原理... 12 1.1 Nodejs简介. 12 1.1.1 js引擎v8 12 1.1.2 Libuv 12 1.1.3 其他第三方库. 18 1.2 Nodejs工作原理. 18 1.2.1 Nodejs是如何拓展js功能的?. 18 1.2.2如...

如何让nodejs服务器优雅地退出

假设我们启动了一个服务器,接收到了一些客户端的请求,这时候,如果我们想修改一个代码发布,需要重启服务器,怎么办?假设我们有以下代码。 server.js const net = require('net');const s...

实现nodejs进程间通信

对于有继承关系的进程,nodejs本身为我们提供了进程间通信的方式,但是对于没有继承关系的进程,比如兄弟进程,想要通信最简单的方式就是通过主进程中转,类似前端框架中子组件通过更新父组件...

分享一些nodejs库

分享一下最近写的一些nodejs库 1 小型应用层协议解析状态机 介绍:小型的有限状态机框架,用于解析长连接(比如tcp、unix域)上自定义的应用层协议 https://github.com/theanarkh/tiny-fsm....

nodejs-ipc的设计与实现

对于有继承关系的进程,nodejs本身为我们提供了进程间通信的方式,但是对于没有继承关系的进程,比如兄弟进程,想要通信最简单的方式就是通过主进程中转,类似前端框架中子组件通过更新父组件...

实现nodejs的进程间通信

使用自定义的应用层协议,实现nodejs兄弟进程通信,windows下通过tcp、非windows下通过unix域,支持在长连接中并行发送多个请求和响应处理。 github仓库:https://github.com/theanarkh/node...

v8源码解析之Dictionary(v8 0.1.5)

Dictionary我们应该不陌生,他是HashTable的基类。我们看一下定义 // 字典基类,prefix大小为两个指针元素,数组中每个元素大小是3个指针class DictionaryBase: public HashTable<2, 3> {};c...

10/18 00:08
40
v8源码解析之ByteArray(v8 0.1.5)

ByteArray是字节数组的实现,顾名思义,该数组的元素大小的一个字节,不过类似js的Uint16Array,Uint32Array数组一样,我们可以把多个元素看做一个,把多个字节合并成一个元素看待。下面我们...

v8
10/18 00:08
14
v8源码解析之SymbolTable(v8 0.1.5)

SymbolTable是哈希表的子类,元素大小是一个Object*。SymbolTable主要使用哈希表来存储字符串,给定一个字符串,算出哈希值,然后插入哈希表中。后续根据哈希值进行读取。哈希表本身不负责对...

v8
10/18 00:08
13
v8源码解析之HashTable(v8 0.1.5)

HashTable是v8中哈希表的实现,HashTable继承Array。HashTable提供一些公共的逻辑,供后续子类使用。我们看一下他 大内存布局。 然后看一下类的定义。HashTable是个模板类,prefix_size是,e...

v8
10/18 00:08
93
nodejs线程池的设计与实现

前言:之前的版本不方便开放,重新设计了一版nodejs的线程池库,本文介绍该库的一些设计和实现。 nodejs虽然提供了线程的能力,但是很多时候,往往不能直接使用线程或者无限制地创建线程,比...

新版nodejs线程池库

之前实现的版本不方便开放,重新实现了新版的nodejs线程池库。有兴趣的可以使用。https://github.com/theanarkh/nodejs-threadpool npm i nodejs-threadpool......

v8源码解析之数组系列1(v8 0.1.5)

前言:很久没有看了,花点时间继续分析一下v8。 v8中很多数据结构都具备数组的特性,今天我们先介绍Array和FixedArray。他们是V8中很多数据结构的基类。 1 Array 我们先看Array的定义。 clas...

v8
10/17 00:17
37
nodejs源码分析交流

对nodejs源码感兴趣的同学可以加一下,一起分析源码,深入理解nodejs。

10/13 09:44
34
如何在nodejs中实现兄弟进程通信

背景 在nodejs主进程中,开启一个额外的子进程A,进程A负责和线程池通信,完成cpu密集型的任务。通过nodejs主进程创建出来的多个nodejs工作进程可以把任务提交到进程A,然后拿到处理结果。 ...

09/25 22:50
23
《理解nodejs原理》建议和意见收集

国庆假期会抽时间完成《理解nodejs原理》的最后梳理。如果你看过,欢迎提意见或建议,非常感谢!

09/26 19:36
28

没有更多内容

加载失败,请刷新页面

返回顶部
顶部