gRPC in Go: real-time streaming for microservices
REST for public APIs, gRPC for internal services. Server streaming for a real-time price feed, Protobuf for typed contracts, and the 4 streaming modes explained.
Lessons learned, problems and solutions
REST for public APIs, gRPC for internal services. Server streaming for a real-time price feed, Protobuf for typed contracts, and the 4 streaming modes explained.
A 50-million-row trades table, a 4-second query. After JSONB, partial indexes and date partitioning: 12ms. The four techniques that actually move the needle in production.
Binance down for maintenance at 2am, your service keeps hammering it at 10 req/sec. Circuit breaker, exponential backoff retry, timeout, fallback: the complete Go resilience stack.
Bounded contexts, aggregates, value objects and anti-corruption layer — DDD is the 'why' behind CQRS and event sourcing. Applied to a Go service consuming Binance, OKEx and Coinbase.
You can't hit the real Binance API in tests. ExchangeClient interface, mockgen mocks, httptest for parsing real responses, testcontainers for PostgreSQL integration tests.
PHP, Go, Python, JavaScript, Rust — no universal answer, but clear criteria. A pragmatic, opinionated guide for picking the right language for the job, with a quick-reference table.
A ticket, an unknown tool, six services to migrate including gRPC. What I wish I'd read before starting: Bruno concepts, monorepo structure, .env for secrets, multi-env local/dev/prod.
I built a buying guide for retro portable consoles with purely aesthetic CSS — scanlines, Orbitron, custom properties — without a single line of JS. The real decisions, not the basics.
PHP can do what Node.js does: jump between tasks on a single thread. ReactPHP, PHP 8.1 Fibers, and why this doesn't replace real parallelism.
Google Search Console showed 0 indexed articles after 3 weeks. A look at the fixes: JSON-LD with articleBody via output buffering, PHP-generated ToC with stable IDs, and hybrid PHP/JS crawlable pagination.