Dane Springmeyer

@springmeyer

Basics of message passing in Node.js

NodeDC, April 25th | [get the code]

Goals

Topics

Signals

Signals

server.js

Signals

$  node server.js 
server running with PID: 1905
Got a SIGTERM, exiting...


UDP: Internet User Datagram Protocol

UDP / Datagram Sockets

server.js

UDP / Datagram Sockets

client.js

UDP / Datagram Sockets

$  node server.js & node client.js 
[2] 1148
listening on port 48945
server got msg: 'a datagram for you'

$  killall node

[1]-  Exit 1                  node server.js


TCP: Internet User Datagram Protocol

TCP Sockets

server.js

TCP Sockets

client.js

TCP Sockets

$  node server.js & node client.js 
[1] 1764
server connected with client on port 8080
server sends a tcp message for you


$  killall node

[1]-  Exit 1                  node server.js


Child Process

Child Process

child.js

Child Process - Spawn

parent-spawn.js

Child Process - Spawn

$  node parent-spawn.js 
child says (stdout): child was created with PID: 1084
child says (stderr): child is exiting with code: undefined and signal: undefined


Child Process - Fork

parent-fork.js

Child Process - Fork

$  node parent-fork.js 
child was created with PID: 1089
child: got message from parent: hello from your parent
parent: got message from child: hi, thanks for the message!


Cluster

Child Process - Fork

multi-core-server.js

It gets better: Lloyd's "compute-cluster"

Compute Cluster

Demo! Lloyd's "Fully Loaded Node"

Demo! Lloyd's "Fully Loaded Node"

github.com/lloyd/fully_loaded_node

Thanks!