Tag: Golang

Learning from Discord’s Approach — Request Coalescing with Golang

As you might have seen previously, Discord published a valuable article last year discussing how they successfully managed to store trillions of messages. While there are numerous Youtube videos and articles about this article, I think one section of this article, titled “Data Services Se...

Mutex and Lock Internals in Golang

In modern software development, the concept of concurrency pertains to a program’s ability to execute multiple tasks or operations simultaneously. This enables efficient utilization of system resources and enhanced performance. A standout feature of the Go programming language (Golang) is its ...

Handling One Million Requests with Golang: Strategies and Best Practices

In the rapidly evolving landscape of web applications, the ability to handle a massive influx of requests is a key factor for success. As a full-stack developer, you’re likely familiar with Golang’s efficiency and performance. In this article, we will delve into how Golang can be leverag...

Changes in Go 1.20.

I was asked to look into Golang 1.20 to present the changes, not expecting to find much after the huge release of Go 1.18. Aside from some exciting changes, I’ve also learned about many features that I wasn’t aware of before reading the release notes meticulously. In order to actua...

Fiber Golang: A Rapid Growing Framework For Go (Golang)

In the ever-evolving landscape of web development, choosing the right framework can significantly impact the efficiency and success of your projects. Enter Fiber, an impressive web framework for the Go (Golang) programming language. Known for its lightning-fast performance and robust features, Fiber...

The Facade Design Pattern in Golang

Like the physical world of construction, software architecture is governed by patterns. These patterns act as blueprints, shaping the structure and behavior of software systems. One of these critical patterns, often unsung yet undeniably important, is the Facade Design Pattern. The Facade pattern...

Golang type conversion summary

There are 4 types of type-conversions in Go: Assertion. Forced type conversion. Explicit type conversion. Implicit type conversion. Commonly said type conversion refers to assertion, forced type conversion is not used in daily life, explicit is a basic type conversion...

How We Scaled to 100 Million Active Users Using Kafka and Golang — Eventual Consistency

Nowadays, we have reached an era where the most popular startups reach millions of users within less than a year. During my experience as a software developer, where I had the privilege to work on a couple of them, I’ve seen that the most common bottleneck within a backend service is caused by...