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
320
Other Decks in Programming
See All in Programming
ニーリーにおけるプロダクトエンジニア
nealle
0
870
効率的な開発手段として VRTを活用する
ishkawa
0
140
Quand Symfony, ApiPlatform, OpenAI et LangChain s'allient pour exploiter vos PDF : de la théorie à la production…
ahmedbhs123
0
200
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
120
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
3
1k
GPUを計算資源として使おう!
primenumber
1
150
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
740
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
270
Agentic Coding: The Future of Software Development with Agents
mitsuhiko
0
110
NPOでのDevinの活用
codeforeveryone
0
850
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
450
RailsGirls IZUMO スポンサーLT
16bitidol
0
190
Featured
See All Featured
KATA
mclloyd
30
14k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Speed Design
sergeychernyshev
32
1k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Automating Front-end Workflow
addyosmani
1370
200k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Practical Orchestrator
shlominoach
189
11k
How STYLIGHT went responsive
nonsquared
100
5.6k
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