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
Beyond HTTP, Breaking Free of The Web
Search
Mark Wolfe
February 09, 2015
Technology
340
0
Share
Beyond HTTP, Breaking Free of The Web
Talk I gave at APIdays in Sydney 2015 and Microservices Meetup
Mark Wolfe
February 09, 2015
More Decks by Mark Wolfe
See All by Mark Wolfe
IP Networking in AWS
wolfeidau
0
79
Getting Into Vue.js
wolfeidau
0
200
AWS Automation With Lambda
wolfeidau
1
99
Ansible and Cloudformation
wolfeidau
1
240
Docker Security
wolfeidau
0
200
Building a Proxy in Go
wolfeidau
2
400
Using JWT to Authenticate Microservices
wolfeidau
1
260
Managing Secrets IN AWS
wolfeidau
0
160
ESPlant Workshop Firmware Overview and Demos
wolfeidau
0
140
Other Decks in Technology
See All in Technology
TROCCOで始めるクラウドコストを民主化するためのFinOps
tk3fftk
1
450
Agentic AI時代における メルカリのAIガバナンスとガードレール実装
naoichihara
16
17k
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
270
NFLコンペ2026 解法
lycorptech_jp
PRO
0
130
自称宇宙最速で不合格となったAIP-C01にリベンジを果たすべくAIで問題集アプリを作ってみた。
yama3133
0
240
long-running-tasks
cipepser
2
450
「使われるデータ基盤」を目指してデータアナリストとワークショップをやった話
jackojacko_
2
940
オンコールの負荷軽減のためのBits Assistant 活用方法 / How to Use Bits Assistant to Reduce the Workload on On-Call Staff
sms_tech
1
350
さきさん文庫の書籍ができるまで
sakiengineer
0
320
CloudFront VPCオリジンとVPC Latticeサービスの内部ALBをマルチアカウントで一元利用しよう
duelist2020jp
5
260
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
350
はじめてのDatadog
kairim0
0
240
Featured
See All Featured
Balancing Empowerment & Direction
lara
6
1.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
130
Mind Mapping
helmedeiros
PRO
1
220
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
240
Rails Girls Zürich Keynote
gr2m
96
14k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Being A Developer After 40
akosma
91
590k
WENDY [Excerpt]
tessaabrams
11
38k
Ruling the World: When Life Gets Gamed
codingconduct
0
240
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
370
Transcript
Beyond HTTP, Breaking Free of The Web Mark Wolfe
–From http://www.w3.org/DesignIssues/Architecture.html “The most fundamental specification of Web architecture, while
one of the simpler, is that of the Universal Resource Identifier, or URI.”
–From https://tools.ietf.org/html/rfc2616 “The Hypertext Transfer Protocol (HTTP) is an application
protocol for distributed, collaborative, hypermedia information systems.”
– From http://en.wikipedia.org/wiki/Application_programming_interface “In computer programming, an application programming interface
(API) is a set of routines, protocols, and tools for building software applications.”
APIs We Use != http DNS Used to resolve host
names Also used for service discovery MDNS SPDY
Wireshark Network protocol analyser Our window into the wonderful world
of protocols and APIs Available for Windows, OSX and Linux https://www.wireshark.org/ The wire doesn’t lie
DNS? Protocol uses UDP or TCP for transport Consists of
Questions and Answers Includes some information on authority Uses "intelligent retransmission” Small messages
DNS Continued.. Binary protocol Fixed header Payload uses a compact
self describing binary format TLV (type length value)
DNS Question
DNS Answer
DNS Exchange
HTTP Get Request
In Review Compact messages More likely to transit “wireless” networks
Extensible self describing binary payload Established encoding so others can introspect without a definition! Fast
MDNS Uses UDP Over Multicast Designed for resolving names in
adhoc networks Uses the existing DNS message structure, name syntax, and resource record types
Something Simpler? So lets look at something simpler than DNS
What if we just put text in a UDP packet What would that look like?
Problem I want to send 10s of 1000s of metrics
to a server for aggregation with minimal performance impact I want to keep it simple I want the server to be a staging area for data Perform Aggregation Flush to timeseries at regular intervals
statsd Developed by etsy Uses UDP as a transport Data
is encoded using text Metrics are either a Gauge, Counter, Timer or Meter No reply necessary!
statsd protocol Metrics are generally of the form <metric name>:<value>|<type>
outside_temp|12.2|g get_home_request_time|123|ms get_home_request|1|c
In Review Very simple implementation Doesn’t block Fast Loss doesn’t
really matter in the scheme of things Maths happens in the server
None
The End @wolfeidau on twitter https://github.com/wolfeidau
[email protected]
http://wolfe.id.au
Links Good article on DNS message format https://www.wireshark.org/ Read this
book High Performance Browser Networking Etsy Statsd