ΠΠΈ Π±ΡΠ΄ΡΡΠΌΠΎ Π²Π»Π°ΡΠ½ΠΈΠΉ CDN Edge ΡΠ΅ΡΠ²Π΅Ρ (ccdn-edged) β Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΈΠΉ Π΄Π΅ΠΌΠΎΠ½ Π½Π° Go, ΡΠΎ ΠΎΠ±ΡΠΎΠ±Π»ΡΡ ΠΆΠΈΠ²ΠΈΠΉ ΡΡΠ°ΡΡΠΊ ΡΠ΅ΡΠ΅Π· HTTP/1.1, HTTP/2 ΡΠ° HTTP/3 (QUIC). Π¦Π΅ Π½Π΅ ΡΠ΅ΡΠ³ΠΎΠ²ΠΈΠΉ REST API. Π¦Π΅ ΡΠΈΡΡΠ΅ΠΌΠ½Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠ²Π°Π½Π½Ρ: ΡΠ΅Π²Π΅ΡΡ-ΠΏΡΠΎΠΊΡΡ, ΠΌΠ΅ΡΠ΅ΠΆΠ΅Π²ΠΈΠΉ ΡΡΠ΅ΠΊ, ΠΎΠΏΡΠΈΠΌΡΠ·Π°ΡΡΡ Π·Π°ΡΡΠΈΠΌΠΎΠΊ, WAF, in-memory ΠΊΠ΅ΡΡΠ²Π°Π½Π½Ρ Ρ Edge Functions.
Π¨ΡΠΊΠ°ΡΠΌΠΎ ΡΠ½ΠΆΠ΅Π½Π΅ΡΠ°, ΡΠΊΠΈΠΉ ΡΠΎΠ·ΡΠΌΡΡ ΡΠΊ Π½Π°ΡΠΏΡΠ°Π²Π΄Ρ ΠΏΡΠ°ΡΡΡ HTTP, Π·Π½Π°Ρ ΡΡΠ·Π½ΠΈΡΡ ΠΌΡΠΆ goroutine scheduler Ρ OS thread, Ρ ΡΠΊΠΎΠΌΡ ΡΡΠΊΠ°Π²ΠΎ ΠΊΠΎΠΏΠ°ΡΠΈΡΡ Ρ ΠΊΠΈΡΠΊΠ°Ρ
ΠΌΠ΅ΡΠ΅ΠΆΠ΅Π²ΠΈΡ
ΡΠΈΡΡΠ΅ΠΌ.
Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΡΡΠ½ΠΈΠΉ ΡΡΠ΅ΠΊ
ΠΠ΅ΡΠ΅ΠΆΠ΅Π²ΠΈΠΉ ΡΠ°Ρ:
β’ HTTP/1.1 & HTTP/2 β stdlib
β’ HTTP/3 / QUIC β quic-go
β’ Reverse Proxy β httputil + fasthttp
β’ TLS Fingerprinting
ΠΠ΅Π·ΠΏΠ΅ΠΊΠ°:
β’ Coraza WAF β ΡΠ½ΡΠΏΠ΅ΠΊΡΡΡ ΡΡΠ°ΡΡΠΊΡ
β’ TLS Client Identification
β’ Rate Limiting / Bot Detection
Π‘ΡΠ°Π½ ΡΠ° ΠΊΠ΅Ρ:
β’ Redis β ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΡ Π·ΠΎΠ½, Ρ
ΠΎΡΡΡΠ², ΡΠ΅ΡΡΠΈΡΡΠΊΠ°ΡΡΠ²
β’ In-memory ΠΊΠ΅Ρ ΠΎΠ±βΡΠΊΡΡΠ²
Observability:
β’ VictoriaMetrics / Prometheus
β’ zerolog β structured logging
β’ Access logs via Unix-ΡΠΎΠΊΠ΅ΡΠΈ
β’ Goja β JS Edge Functions (ES5.1+)
Π‘Π΅ΡΠ΅Π΄ΠΎΠ²ΠΈΡΠ΅: Go 1.26, GOEXPERIMENT=jsonv2,greenteagc,synchashtriemap
Π©ΠΎ ΠΎΠ±ΠΎΠ²βΡΠ·ΠΊΠΎΠ²ΠΎ Π·Π½Π°ΡΠΈ:
β’ Go 3+ ΡΠΎΠΊΠΈ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Ρ β goroutines, channels, sync primitives, memory model
β’ ΠΠ»ΠΈΠ±ΠΎΠΊΠ΅ ΡΠΎΠ·ΡΠΌΡΠ½Π½Ρ HTTP/1.1, HTTP/2 (framing, multiplexing, flow control)
β’ ΠΠΎΡΠ²ΡΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½Π½Ρ ΡΠ΅Π²Π΅ΡΡ-ΠΏΡΠΎΠΊΡΡ Π°Π±ΠΎ ΠΌΠ΅ΡΠ΅ΠΆΠ΅Π²ΠΈΡ
ΡΠ΅ΡΠ²Π΅ΡΡΠ² / ΠΊΠ»ΡΡΠ½ΡΡΠ²
β’ Π ΠΎΠ·ΡΠΌΡΠ½Π½Ρ TLS β handshake, certificates, ALPN, SNI
β’ ΠΡΠΎΡΡΠ»ΡΠ²Π°Π½Π½Ρ Go: pprof, trace, heap / goroutine dumps
β’ Π ΠΎΠ±ΠΎΡΠ° Π· low-latency ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ β Π±ΡΡΠ΅ΡΠΈ, zero-copy, escape analysis
β’ Redis: ΡΡΡΡΠΊΡΡΡΠΈ Π΄Π°Π½ΠΈΡ
, pub/sub, pipeline
ΠΡΠ΄Π΅ ΠΏΠ»ΡΡΠΎΠΌ:
β’ ΠΠ½Π°ΠΉΠΎΠΌΡΡΠ²ΠΎ Π· QUIC / HTTP/3 (RFC 9000, 9114)
β’ ΠΠΎΡΠ²ΡΠ΄ ΡΠ· fasthttp Π°Π±ΠΎ ΡΠ½ΡΠΈΠΌΠΈ high-perf HTTP Π±ΡΠ±Π»ΡΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ
β’ Π ΠΎΠ·ΡΠΌΡΠ½Π½Ρ WAF / ModSecurity rule engine
β’ Embedded JS runtime (Goja / V8 / QuickJS)
β’ ΠΠ½Π°ΠΉΠΎΠΌΡΡΠ²ΠΎ Π· VictoriaMetrics Π°Π±ΠΎ Prometheus internals
β’ ΠΠΎΡΠ²ΡΠ΄ Ρ CDN, DDoS-Π·Π°Ρ
ΠΈΡΡ Π°Π±ΠΎ edge computing
ΠΠ°ΠΆΠ»ΠΈΠ²ΠΎ
Π¦Ρ ΡΠΎΠ»Ρ Π½Π΅ ΠΏΡΠ΄Ρ
ΠΎΠ΄ΠΈΡΡ ΡΠΈΠΌ, Ρ
ΡΠΎ ΡΠΏΠ΅ΡΡΠ°Π»ΡΠ·ΡΡΡΡΡΡ Π²ΠΈΠΊΠ»ΡΡΠ½ΠΎ Π½Π° REST API Π°Π±ΠΎ Π±ΡΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΡΡΡ. Π’ΡΡ ΠΏΠΎΡΡΡΠ±Π½ΠΎ ΡΠΎΠ·ΡΠΌΡΡΠΈ, ΡΠΎ Π²ΡΠ΄Π±ΡΠ²Π°ΡΡΡΡΡ Π½Π° ΡΡΠ²Π½Ρ TCP-Π·βΡΠ΄Π½Π°Π½Π½Ρ, ΡΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡΡ ΡΡΠ΅ΠΉΠΌΠΈ HTTP/2 Ρ ΡΠΎΠΌΡ zero-copy Π²Π°ΠΆΠ»ΠΈΠ²ΠΈΠΉ Π΄Π»Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΡ Π·Π΄Π°ΡΠ½ΠΎΡΡΡ. Π―ΠΊΡΠΎ ΡΠ΅Π±Π΅ ΡΡΠΊΠ°Π²ΠΈΡΡ Β«ΡΠΊ Π²ΡΠ΅ Π²Π»Π°ΡΡΠΎΠ²Π°Π½ΠΎ Π·ΡΠ΅ΡΠ΅Π΄ΠΈΠ½ΡΒ» β ΡΠΈ ΠΏΠΎΡΡΡΠ±Π΅Π½ Π½Π°ΠΌ.
Π©ΠΎ ΡΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ±ΠΈΡΠΈ
Π ΠΎΠ·ΡΠΎΠ±Π»ΡΡΠΈ ΡΠ° ΠΏΡΠ΄ΡΡΠΈΠΌΡΠ²Π°ΡΠΈ ΡΠ΄ΡΠΎ CDN Edge Π΄Π΅ΠΌΠΎΠ½Π° (ccdn-edged)
β’ ΠΠΏΡΠΈΠΌΡΠ·ΡΠ²Π°ΡΠΈ ΠΏΡΠΎΠΊΡΡΠ²Π°Π½Π½Ρ ΡΡΠ°ΡΡΠΊΡ β Π·Π°ΡΡΠΈΠΌΠΊΠΈ, throughput, Π·βΡΠ΄Π½Π°Π½Π½Ρ
β’ ΠΠ½ΡΠ΅Π³ΡΡΠ²Π°ΡΠΈ ΡΠ° Π½Π°Π»Π°ΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ WAF (Coraza) ΠΏΡΠ΄ ΡΠ΅Π°Π»ΡΠ½ΠΈΠΉ ΡΡΠ°ΡΡΠΊ
β’ Π ΠΎΠ·Π²ΠΈΠ²Π°ΡΠΈ Edge Functions runtime Π½Π° Π±Π°Π·Ρ Goja
β’ ΠΡΠΎΠ΅ΠΊΡΡΠ²Π°ΡΠΈ ΡΡ
Π΅ΠΌΠΈ ΠΊΠ΅ΡΡΠ²Π°Π½Π½Ρ (L1 in-memory + L2 Redis)
β’ ΠΠΈΡΠ°ΡΠΈ benchmark-ΡΠ΅ΡΡΠΈ ΡΠ° ΠΏΡΠΎΡΡΠ»ΡΠ²Π°ΡΠΈ ΠΊΡΠΈΡΠΈΡΠ½Ρ ΡΠ»ΡΡ
ΠΈ
β’ ΠΡΠ°ΡΠΈ ΡΡΠ°ΡΡΡ Ρ code review ΡΠ° Π°ΡΡ
ΡΡΠ΅ΠΊΡΡΡΠ½ΠΈΡ
ΡΡΡΠ΅Π½Π½ΡΡ
Π£ΠΌΠΎΠ²ΠΈ ΡΠΎΠ±ΠΎΡΠΈ
β’ ΠΠΎΠ²Π½Π° Π·Π°ΠΉΠ½ΡΡΡΡΡΡ, Remote Π°Π±ΠΎ Relocate
β’ ΠΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½Π° Π·Π°ΡΠΏΠ»Π°ΡΠ° β ΠΎΠ±Π³ΠΎΠ²ΠΎΡΡΡΡΡΡΡ Π½Π° ΡΠ½ΡΠ΅ΡΠ²βΡ
β’ Π’Π΅Ρ
Π½ΡΡΠ½Π΅ Π·Π°Π²Π΄Π°Π½Π½Ρ Π·Π°ΠΌΡΡΡΡ leetcode-ΡΠ΅ΡΡΡΠ²
β’ ΠΠ΅Π²Π΅Π»ΠΈΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΏΡΡΠΌΠΈΠΉ Π²ΠΏΠ»ΠΈΠ² Π½Π° Π°ΡΡ
ΡΡΠ΅ΠΊΡΡΡΡ
β’ Π‘ΡΡΠ°ΡΠ½ΠΈΠΉ ΡΡΠ΅ΠΊ Π±Π΅Π· legacy-ΠΎΠ±ΠΌΠ΅ΠΆΠ΅Π½Ρ
β’ Π Π΅Π°Π»ΡΠ½ΠΈΠΉ high-load ΡΡΠ°ΡΡΠΊ Π· ΠΏΠ΅ΡΡΠΎΠ³ΠΎ Π΄Π½Ρ