Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Integrating Node.js
Search
Andrew Nesbitt
November 10, 2012
Technology
2
710
Integrating Node.js
Slides from NodejsConf.it talk
Andrew Nesbitt
November 10, 2012
Tweet
Share
More Decks by Andrew Nesbitt
See All by Andrew Nesbitt
Can my friends come too?
andrew
5
2.1k
Elasticsearch on Rails
andrew
1
340
24 Pull Requests
andrew
0
490
Hardware Hacking with JavaScript
andrew
1
300
Robotics 101
andrew
4
650
Learning how to Tinker
andrew
2
830
Nodecopter Pivotal
andrew
1
92
BathRuby on Robots
andrew
0
88
Nodecopter - BristolJS
andrew
1
210
Other Decks in Technology
See All in Technology
長期運用プロジェクトでのMySQLからTiDB移行の検証
colopl
2
840
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.3k
反実仮想機械学習とは何か
usaito
PRO
11
4.2k
VS CodeでAWSを操作しよう
smt7174
7
1.6k
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
290
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
2.1k
KubeCon EU 2024 Recap “Kubernetes Policy Time Machine: Where to Next?”
ryysud
0
210
Next'24 事例セッションの紹介とクラウド資格を活用したキャリア形成について語りMuscle
yasumuusan
1
430
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
1
340
JAWS-UG Bedrock Claude Night
yamahiro
3
560
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
27
5.9k
Java EE/Jakarta EEの現状と将来―クラウドネイティブ時代にJava EEは対応できるのか?―
takakiyo
1
140
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
164
13k
BBQ
matthewcrist
80
8.8k
Music & Morning Musume
bryan
41
5.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
187
16k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
RailsConf 2023
tenderlove
4
540
Creatively Recalculating Your Daily Design Routine
revolveconf
210
11k
Bash Introduction
62gerente
604
210k
Making the Leap to Tech Lead
cromwellryan
124
8.5k
The Cult of Friendly URLs
andyhume
74
5.7k
The Pragmatic Product Professional
lauravandoore
25
5.8k
Transcript
Integrating Node.js into an existing technology stack
Andrew Nesbitt github.com/andrew @teabass
forwardtechnology.co.uk
None
None
None
Show of hands
Benefits of Node
Legacy Systems
Benefits of integration
Let’s do this!
1. Standalone Tools
Command line tools Asset minification Pixel Trackers Url shorteners Internal
tools Monitoring Chat bots Examples
Legacy App Internal tool Internal tool Internal tool Internal tool
Easy to setup Very little integration Little experience needed Pros
Extra dependencies Knowledge silos Cons
2. Shared databases
Connect directly existing database Read from a data warehouse Share
data with a key-value store Examples
Legacy App DB Node
Quick and dirty Adapters for almost every DB available Slow
databases not a problem Pros
Duplicating domain logic Race-conditions Your DBA will likely hate you
Cons
None
3. Using APIs
Use API from existing application Linkedin Mobile Github Downloads Examples
Legacy App DB Node
Avoid duplication of domain logic JSON APIs are lovely to
work with Plays to Nodes strengths Pros
Extra load on existing application Might have to build/extend existing
API What if the legacy app goes down? Cons
4. Creating APIs
Websocket Services Streaming services APIs for Mobile Apps Proxy serivces
File upload handling Ebay’s ql.io Examples
DB Node Clients
Handle very load Lots of concurrent connections JSON comes naturally
Pros
Cons You now have a dependeny on Node System adminstration
Teaching others about it
mysql Rails Disc Cache Nginx Redis Node Browser Pusher http://live.mpora.com
Mpora Live
5. Message Queues
ZeroMQ Resque Redis Pubsub dnode Examples
Message Queue Legacy App Node Legacy Worker
6. Streams
Twitter, Facebook, Salesforce HTTP long polling Comet XMPP Examples
7. Embedding
Ruby Racer Android Hadoop and Timothy Sprintstack PLV8 Examples
create or replace function fib(n int) returns int as $$
function fib(n) { return n<2 ? n : fib(n-1) + fib(n-2) } return fib(n) $$ LANGUAGE plv8 IMMUTABLE STRICT;
http://pgeu-plv8.herokuapp.com
Legacy App Node
Scripting within compiled languages Use existing, battle tested software Enable
Node on embedded devices Pros
Under heavy development You need to know the host platform
Context switching overhead Cons
Take a unix-like approach Decoupled Systems Use APIs to share
data Play to node’s strengths Summary
Node on Andriod - lanyrd.com/smpbg Rails and Node.js - lanyrd.com/srmwr
Hadoop and Timothy - lanyrd.com/sttxx Rhinode (Sprintstack) - lanyrd.com/srmwx These slides - lanyrd.com/szwyc Links