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
HTTP routing with Linkerd
Search
Borys Pierov
December 08, 2017
Programming
0
250
HTTP routing with Linkerd
A practical example of routing HTTP traffic with Linkerd
Borys Pierov
December 08, 2017
Tweet
Share
More Decks by Borys Pierov
See All by Borys Pierov
Modeling Trees: Graphs vs SQL-based MPTT
ashald
0
330
Other Decks in Programming
See All in Programming
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
190
Breaking Up with Big ViewModels — Without Breaking Your Architecture (droidcon Berlin 2025)
steliosf
PRO
1
330
CSC509 Lecture 06
javiergs
PRO
0
240
ネイティブ製ガントチャートUIを作って学ぶUICollectionViewLayoutの威力
jrsaruo
0
130
XP, Testing and ninja testing ZOZ5
m_seki
2
280
Local Peer-to-Peer APIはどのように使われていくのか?
hal_spidernight
2
450
iOSアプリの信頼性を向上させる取り組み/ios-app-improve-reliability
shino8rayu9
0
150
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
180
AIエージェント時代における TypeScriptスキーマ駆動開発の新たな役割
bicstone
4
1.5k
Serena MCPのすすめ
wadakatu
4
900
プログラミングどうやる? ~テスト駆動開発から学ぶ達人の型~
a_okui
0
190
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
7
1.6k
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
890
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Become a Pro
speakerdeck
PRO
29
5.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Making Projects Easy
brettharned
119
6.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
A Tale of Four Properties
chriscoyier
160
23k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Transcript
$ echo ‘HTTP routing with Linkerd’
$ echo $(whoami)@$(domainname)
[email protected]
$ man ncbi NAME NCBI – National Center for Biotechnology
Information DESCRIPTION World’s go-to place for biomedical and genomic info HISTORY Building software since 1988 ENVIRONMENT Hybrid on-premises & multi-cloud Over 3K services Serving 7K RPS EXAMPLES PubMed, GenBank, PMC, BLAST
$ http_proxy=linkerd:4140 curl http://foo.l5d.ncbi.nlm.nih.gov
service │ works w/ │ containers & w/o │ │
│ ┌───┴────┐ ┌┴┐ $ http_proxy=linkerd:4140 curl http://foo.l5d.ncbi.nlm.nih.gov └──┬──┘ └────────┬─────────┘ │ │ /etc/hosts │ │ │ │ convention
$ curl –H “Host: foo.l5d.ncbi.nlm.nih.gov” http://linkerd:4140
service │ │ ┌┴┐ $ curl –H “Host: foo.l5d.ncbi.nlm.nih.gov” http://linkerd:4140
└────────┬─────────┘ └──┬──┘ │ │ │ │ long domain names phobia │ /etc/hosts
<Location "/foo"> RequestHeader set Host foo.l5d.ncbi.nlm.nih.gov ProxyPass http://linkerd:4140 </Location>
routers: - protocol: http dstPrefix: /http identifier: - kind: io.l5d.header.token
header: Host interpreter: ... servers: - port: 4140
GET /login HTTP/1.1 Host: foo.l5d.ncbi.nlm.nih.gov
/http/foo.l5d.ncbi.nlm.nih.gov
/http => /#/rinet/80 /http => /$/domainToPath /gov/nih/nlm/ncbi/l5d => /service /service
=> /#/consul/.local /service/foo => /service/foo-1 /service/bar => /service/bar-1 /service/baz => /service/baz-1
None
None
None
None
foo bar baz
foo l5d bar l5d baz
foo-1 l5d bar-1 l5d baz-1 foo-2 bar-2 baz-2
foo-1 l5d bar-1 l5d baz-1 foo-2 bar-2 baz-2 CTX CTX
CTX CTX
$ curl –H “Host: foo.l5d.ncbi.nlm.nih.gov” http://linkerd:4140 \ > -H “l5d-dtab:
/service/baz=>/versioned/baz-2”
foo-1 l5d bar-1 l5d baz-1 foo-2 bar-2 baz-2 CTX CTX
CTX