Writing a circuit breaker in Go
Build a production-ready circuit breaker in Go from scratch with closed, open, and half-open states to prevent cascading failures.
Build a production-ready circuit breaker in Go from scratch with closed, open, and half-open states to prevent cascading failures.
On May 30th, 2024, me and my friend/colleague Julien posted our first article on packagemain.tech which is a Substack newsletter where we want to share real world experiences and knowledge about Backend Development, Go, DevOps, Cloud, Kubernetes, Databases and more. We’ve b...
Introduction: Welcome to Episode 1 of JSON for Engineers! In this first episode, Miki Tebeka dives into the fundamentals of serialization, with a special focus on JSON, one of the most widely-used data formats in software engineering. Miki draws from his extensive development exp...
In some cases your application doesn’t need Redis, and internal in-memory map with locks and expiration will suffice. For example you already know the size of the map and you don’t need to store a lot of data. Use cases could be IP rate limiting, or any other short-li...
A new release of the Microsoft build of Go is now available for download. The post Go 1.23.2-1 and 1.22.8-1 Microsoft builds now available appeared first on Microsoft for Go Developers.
In the previous post, I looked into running transactions in a layered architecture. Now, let’s consider transactions that need to span more than one service. If you work with microservices, a time may come when you need a transaction running across them. Especially if the w...
The Go Windows port added support for high-resolution timers in Go 1.23, boosting the resolution of time.Sleep from ~15.6ms to ~0.5ms. The post High-Resolution Timers on Windows appeared first on Microsoft for Go Developers.
#525 — October 1, 2024 Unsub | Web Version Go Weekly Prep: Compile-Time Function Evaluation for Go — “By using prep.Comptime, you can evaluate functions at build time, replacing them with their computed results. Just like co...
In Managing your Go tool versions with go.mod and a tools.go, I mentioned how you can use a tools.go to track any dependencies your project needs for i.e. linting or go generates. This is a very useful pattern and until the proposal to add a // tool directive in go.mod lands, is...