Fatih Kacar
Published on
09/28/2023 09:00 am

Allegro Implements Workload Balancing in Apache Kafka PubSub Platform

Authors
  • Name
    Fatih Kacar
    Twitter
Allegro, the largest eCommerce platform in Poland, has implemented dynamic workload balancing in its open-source publish-subscribe message broker, Hermes, which is built on top of Apache Kafka. This new workload balancing algorithm improves resource utilization and reduces infrastructure costs. Hermes is a performant and scalable message broker solution developed by Allegro. It allows applications to exchange messages in a publish-subscribe pattern. With the increasing load on the platform, Allegro faced challenges in efficiently distributing the workload across the message broker instances. To address this issue, Allegro implemented a dynamic workload balancing algorithm in Hermes. The algorithm continuously monitors the resource utilization of each message broker instance and redistributes the workload based on the current load. By doing so, it ensures more uniform resource utilization and prevents overloading of any specific instance. The new workload balancing algorithm has significantly improved the performance of Hermes. It has reduced the infrastructure costs by optimizing resource utilization and preventing the need for additional instances. The algorithm efficiently handles peak loads by redistributing the workload and preventing bottlenecks. Allegro's implementation of workload balancing in Hermes has been a success. It has enabled the platform to handle the growing load efficiently and has ensured the smooth functioning of the message broker. The improved resource utilization and reduced infrastructure costs have been beneficial for Allegro, allowing them to scale their operations while optimizing costs. In conclusion, Allegro's implementation of dynamic workload balancing in its Apache Kafka pub-sub platform, Hermes, has been a game-changer. The new workload balancing algorithm has improved resource utilization, reduced infrastructure costs, and enabled efficient handling of peak loads. This implementation showcases Allegro's commitment to optimizing its platform's performance and delivering a seamless experience for users.