Four ¡years ¡of ¡Go ¡at ¡CloudFlare
John ¡Graham-‑Cumming
Four years of Go at CloudFlare John Graham-Cumming CloudFlare - - PowerPoint PPT Presentation
Four years of Go at CloudFlare John Graham-Cumming CloudFlare You likely use us without knowing it Server Languages 2011 www data request PHP backend pipeline logic Server Languages 2011
John ¡Graham-‑Cumming
You likely use us without knowing it…
PHP
www backend data pipeline request logic
PHP C
www backend data pipeline request logic nginx modules
PHP C C++
www backend data pipeline request logic nginx modules data pipeline
PHP
www backend
Lua PHP
request logic www backend
ngx_lua/OpenResty
Lua PHP
request logic www backend
C
nginx modules
C++ eliminated
Go Lua PHP
data pipeline request logic www backend
C
nginx modules
C++ eliminated
Go Lua PHP
data pipeline Lots of new things! request logic www backend
C
nginx modules
C++ eliminated
background ¡
pngcrush, ¡etc. ¡
void runtime·SysUnused(void *v, uintptr n) { USED(v); USED(n); // TODO(rsc): call madvise MADV_DONTNEED }
Seemed like a good idea at the time!
Uses libuv for concurrency
MACDUFF O horror, horror, horror! Tongue nor heart cannot conceive nor name thee! MACBETH & LENNOX What’s the matter? MACDUFF Confusion now hath made his masterpiece.
creation ¡
can ¡
Project ¡Honeypot ¡
spacesaving ¡