Browsed by
Month: November 2023

Go – goroutines and channels

Go – goroutines and channels

When you have to deal with concurrency problems, Go has a strong advantage to deal with it. goroutine it is the way that Go supports concurrency, running simultaneous function in a differently Thread from the main, cleverly managed by the runtime. From the golang documentation, this is how they explain about it. A goroutine is a lightweight thread managed by the Go runtime. In this blog post, i will try to show this, exploring why they are a game-changer for concurrent programming…

Read More Read More

Understanding Kafka Partitions

Understanding Kafka Partitions

Kafka Partitions are one of the core mechanisms for ordering produced events in your application. It is the way that Kafka distribute events thought the nodes and keeping the same events from the same entity together to guarantee the ordination of the facts for the consumers. Partitions In Kafka, event messages are essentially logs files containing all the events, separated and organized into partitions. Imagine partitions as office drawers with dividers, organizing papers related to different companies. For example, papers…

Read More Read More

Understanding Kafka Replication Factory and Partitions

Understanding Kafka Replication Factory and Partitions

Kafka is a distributed event store and event streaming platform, so it is developed to be fault-tolerant in a distributed server running in many nodes. The concept of Kafka Replication Factory is some of the main configurations to achieve this. Let’s say that we have a Kafka instance running in a 3 nodes server, as the image below. It is even more common, depending on your application, to run in more nodes, but lets keep it simple with just three…

Read More Read More