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
Microservices
Search
Jun Lin
August 01, 2018
Programming
93
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Microservices
A brief introduction to Microservices.
Jun Lin
August 01, 2018
More Decks by Jun Lin
See All by Jun Lin
A brief introduction to GenStage
linjunpop
1
64
Actor Model
linjunpop
0
38
Ruby for iOS developer
linjunpop
0
1k
A brief introduction to GitHub
linjunpop
1
72
Test Driven Development
linjunpop
0
54
Ruby 2.0
linjunpop
1
170
Other Decks in Programming
See All in Programming
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
230
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
160
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
4
2.7k
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
210
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
140
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
250
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.7k
不幸な GC
chencmd
0
870
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
200
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
810
이 함수, 실패하면 어떻게 되나요? null부터 Rich Errors까지, Kotlin 에러 처리 15년
haeti2
0
120
Deep dive into the select statement (GopherCon UK)
jespino
0
170
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
220
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Speed Design
sergeychernyshev
33
2.1k
Writing Fast Ruby
sferik
630
63k
Code Reviewing Like a Champion
maltzj
528
40k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
Skip the Path - Find Your Career Trail
mkilby
1
220
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Utilizing Notion as your number one productivity tool
mfonobong
4
570
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
230
Chasing Engaging Ingredients in Design
codingconduct
0
300
Transcript
Microservices A brief introduction to
Microservices Building scalable cloud-based software applications
The Outline • What is a Monolith • What are
Microservices • The benefit • The drawback • A demo • What Archiver can do • What’s Next
Monolith
A single application bundle Web Service Mail DB Push
What’s wrong?
Slow compile/startup time 15s
Bundled scalability Web Service Mail DB Push Web Service Mail
DB Push Web Service Mail DB Push
Failure diffusion 1 2 3 1 2 3
Chaos on cooperation 1 2 3 4 A B C
Application Teams
Delay shipping 1 2 3 4
Long-term commitment to a technology stack
What are microservices
An architectural style
Self-contained Billing System Auth System Recommendation System
Communication Billing System Auth System Recommendation System
Replaceable Smart Recommendation System Billing System Auth System Stupid Recommendation
System
Is it good?
Benefits • Independent development • Independent deployment • Independent scalability
• Reusability
Independent development
Team-Service Billing Recommend ation A B Support C
Faster iteration Version 1 Version 2 Version 3 Version 1
Version 2
Polyglot Application Java Rust Javascript Ruby
Independent deployment
Rapidly shipment Order Support Social
Fault isolation Order Support Social Uptime 99.999%
Independent scalability
Scale independently Order Support Social Order Order Social Order
Reusability
Reusability Transcoding Streaming Upload Transcoding Download Social Application A Application
B
Is it that good?
Additional complexity Service A Service B Service C
Inter-service communication RESTful AMPQ grpc Authentication Discovery MessagePack Protocol Buffers
Connection pools Timeouts
Costs on the remote calls Service Service Service UI 10ms
20ms 30 ms
Shared library Order Social Support Shared logic
Hard to see the big picture
Dev dependency hell 2 1 3 New feature 4
Not a silver bullet
Demo
Exporter Fetcher Google Drive Dropbox The System
Fetcher The System Platform API Grab recordings
Exporter The System Export Google Drive Dropbox
Fetcher Google Drive Dropbox UI Components
Demo https://git.io/archiver-demo
• Self-Contained service • Inter-application communication protocol (http/json) • Shared
library (Archiver.Shared) • Storage (service maintain it’s own state) • Supervising What’s implemented
None
Archiver
Find the boundary
12-Factor App https://12factor.net
Monitoring
Progressive migration
Recap
Recap • What is a Monolith • What are Microservices
• The benefit • The drawback • A demo • What Archiver can do
What’s Next
• ServiceMesh • Serverless (AWS Lambda) • Spring Cloud or
Akka or .. • https://segment.com/blog/introducing-centrifuge/
One more thing
Actor Model
The Actor Model Actor Mailbox State
https://commons.wikimedia.org/wiki/File:Erlang_logo.svg http://www.erlang.org
Object Orientation OO is only about message passing and isolation
and protection of state. - Alan Kay http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en
None