This story shows how we strive to fix issues reported by our customers regarding inconsistent listing views on our e-commerce platform.
We will use a top-down manner to guide you through our story. At the beginning, we highlight the challenges faced by our customers, followed by presenting
basic information on how views are personalized on our web application. We then delve deeper into our internal architecture, aiming to clarify how
it supports High Availability (HA) by using two data centers. Finally, we advertise a little Couchbase,
distributed NoSQL database, and explain why it is an excellent storage solution for such an architecture.
This article is a form of a public postmortem in which we would like to share our bumpy way of revealing the cause of a mysterious performance problem.
Besides unveiling part of our technical stack based on open-source solutions, we also show how some false assumptions made such a bug triage process much
Besides all NOT TO DOs, you can find some exciting information about performance hunting and reproducing performance issues on a small scale.
As a perk, we prepared a repository where you can reproduce the problem and make yourself familiar with tools
that allowed us to confirm the cause.
The last part (lessons learned) is the most valuable if you prefer to learn from the mistakes of others.
Engineering manager with emphasis on engineering. At Allegro I take care of a wide sort of reverse proxies that take off mundane work (like caching, or detecting malicious traffic) from our core services. I like to simplify things to such an extent that in many github projects, I am a leader when it comes to the number of deleted lines of code. Besides making source code more concise I like hunting … for performance bottlenecks.