A code editor displaying a distributed rate limiter implementation with Redis and Go.

Build a Distributed Rate Limiter: A CV-Worthy Side Project

Learn to build a distributed rate limiter using Go and Redis, with gRPC, observability, and fault tolerance — a portfolio project that stands out.

September 28, 2026 · 7 min · 1279 words · martinuke0
Distributed rate limiter architecture diagram

Building a Distributed Rate Limiter: A Portfolio Project That Signals Systems Skill

A step-by-step guide to building a distributed rate limiter in Go with Redis and gRPC, demonstrating concurrency, fault tolerance, and scalability.

September 25, 2026 · 8 min · 1591 words · martinuke0
Diagram of Envoy routing gRPC unary and streaming calls from clients to backend services

Architecting gRPC Streaming Services with Envoy as an API Gateway

How to design, configure, and operate Envoy as an API gateway for gRPC streaming services — covering protocol translation, observability, and the failure modes that bite in production.

September 4, 2026 · 11 min · 2278 words · martinuke0
Diagram of a trace spanning a Kafka producer, broker, consumer, and downstream gRPC service.

Distributed Tracing Across Kafka and gRPC With OpenTelemetry Context Propagation

A field guide to implementing distributed tracing with OpenTelemetry across Kafka message boundaries and gRPC calls, including header propagation, instrumented producers and consumers, and the failure modes that leave orphaned spans.

September 4, 2026 · 10 min · 1950 words · martinuke0

Exploring Non‑SocketIO Real‑Time Communication Types

Introduction When developers talk about real‑time web applications, Socket.IO often steals the spotlight. Its ease of use, automatic fallback mechanisms, and rich event‑driven API make it a go‑to solution for many Node.js projects. However, Socket.IO is just one of many ways to push data from server to client (and vice‑versa) without the classic request/response cycle. Understanding non‑SocketIO types—the alternative protocols, transport layers, and data serialization formats—empowers you to: Choose the right tool for specific latency, scalability, or compatibility constraints. Avoid vendor lock‑in by leveraging standards that are language‑agnostic. Optimize bandwidth usage and battery consumption on constrained devices. Build hybrid architectures where different parts of the system communicate using the most suitable technology. This article dives deep into the landscape of real‑time communication beyond Socket.IO. We’ll explore the underlying protocols, compare their trade‑offs, walk through practical code examples, and discuss real‑world scenarios where each shines. ...

April 1, 2026 · 20 min · 4130 words · martinuke0
Feedback