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
720
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
Ecosyste.ms Conference talk at EasyBuild User Meeting
andrew
0
8
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
660
Learning how to Tinker
andrew
2
830
Nodecopter Pivotal
andrew
1
97
BathRuby on Robots
andrew
0
89
Other Decks in Technology
See All in Technology
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
15
36k
Google Cloudを組織(企業)で運用する時のベストプラクティス × 健康の環境分離戦略 #まるクラ勉強会
yasumuusan
0
200
PHP 9 に備えよ - 動的プロパティ、どうすればいぃ?
taisukearase
0
400
回り回って効いてくる副次的効果としての技術広報/techpr
nishiuma
2
210
テストコードを書きながらCompose Multiplatformを乗りこなす
subroh0508
0
150
多言語化対応における TypeScript の型定義を通して開発のしやすさについて考えた / TSKaigi TypeScript Multilingualization
nabeliwo
2
410
TypescriptでのContextualな構造化ロギングと社内全体への導入
leveragestech
3
630
生成AI活用推進の為にやったこと/やらなかったこと
ktc_wada
0
230
社内での継続的な機械学習勉強会の開催のコツ
yudai00
2
410
The depthes of profiling Ruby - RubyKaigi 2024
osyoyu
1
310
Trade-offs all the way down
_aitor
1
120
データベース05: SQL(2/3) 結合質問
trycycle
0
120
Featured
See All Featured
What the flash - Photography Introduction
edds
64
11k
Building a Scalable Design System with Sketch
lauravandoore
457
32k
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
Learning to Love Humans: Emotional Interface Design
aarron
268
39k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
123
39k
How STYLIGHT went responsive
nonsquared
92
4.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
Raft: Consensus for Rubyists
vanstee
133
6.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
356
18k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.7k
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