Building a High-Performance Lock-Free Circuit Breaker in Go

Building a High-Performance Lock-Free Circuit Breaker in Go

Bogdan Ungureanu
Introduction In distributed systems, cascading failures are one of the most devastating failure modes. When a downstream service becomes slow or unresponsive, upstream services can exhaust their resources waiting for responses, causing a domino effect that brings down entire systems. The 2017 AWS S3 outage, which cascaded across multiple services and lasted nearly four hours, demonstrated how a single service failure can ripple through interconnected systems. Circuit breakers act as automatic safety switches that prevent cascading failures by detecting when a service is unhealthy and temporarily blocking requests to it.
API Security in Go: Rate Limiting, JWT Authentication, and RBAC

API Security in Go: Rate Limiting, JWT Authentication, and RBAC

Bogdan Ungureanu
Introduction API security isn’t optional—it’s fundamental. According to the 2023 State of API Security Report, 94% of organizations experienced API security incidents, with exposed APIs becoming the primary attack vector for data breaches. As APIs power everything from mobile apps to microservices architectures, a single vulnerability can cascade into system-wide failures, data leaks, or complete service disruption. Go’s combination of simplicity, performance, and robust concurrency makes it ideal for building secure APIs.

Implementing Circuit Breaker Pattern in Go for Fault Tolerance

Bogdan Ungureanu
In today’s distributed systems landscape, services are interconnected through complex networks of API calls, database queries, and external service dependencies. When one service experiences issues, it can create a cascading failure that brings down entire systems. This is where the Circuit Breaker pattern becomes invaluable—acting as a protective mechanism that prevents failing services from overwhelming the entire system. The Circuit Breaker pattern, inspired by electrical circuit breakers, monitors service calls and “trips” when failures exceed a certain threshold, temporarily blocking requests to give the failing service time to recover.

Building Production-Ready HTTP Logging Middleware for Go's Mux Router

Bogdan Ungureanu
Observability is the cornerstone of modern web applications. When your API starts experiencing issues at 3 AM, comprehensive logging can mean the difference between a quick fix and hours of frustrated debugging. In this guide, we’ll build a production-grade HTTP logging middleware for Gorilla Mux that goes beyond simple request logging to provide actionable insights into your application’s behavior. Why HTTP Logging Middleware Matters Every HTTP request tells a story. It carries information about who’s accessing your system, what they’re requesting, how long it takes, and whether it succeeds or fails.

Building Production-Ready Rate Limiting Middleware in Go

Bogdan Ungureanu
Rate limiting is your application’s first line of defense against abuse, whether from malicious actors launching denial-of-service attacks, buggy clients stuck in retry loops, or legitimate users inadvertently overwhelming your system. Without proper rate limiting, a single misbehaving client can bring down your entire service, impacting all users and potentially costing your business significant revenue and reputation. In this comprehensive guide, we’ll build a production-grade rate limiting middleware for Go HTTP servers that protects your APIs while maintaining performance and flexibility.

Convert PDF to JPEG

Bogdan Ungureanu

I know there are allot of online tools that allows you to convert PDF to JPG. For confidential reasons I prefer to do it locally on my machine.

Write a REPL using GPT-3 and Go

Write a REPL using GPT-3 and Go

Bogdan Ungureanu

This blog post will discuss how to use the OpenAI Chat API in Golang. For this purpose we will create a simple REPL (Read-Eval-Print-Loop) that will use the GPT-3 API to generate the responses.

Shodan.io tips and tricks

Shodan.io tips and tricks

Bogdan Ungureanu

Shodan is a search engine for the internet of things (IoT). It allows users to search for specific types of internet-connected devices, such as security cameras or industrial control systems, and view information about them, such as their location, their internet protocol (IP) address, and their manufacturer.