Wildberries is the most popular Russian online store. The company operates in 7 countries. Wildberries has been recognized as the largest Internet retailer in Russia for four consecutive years. Wildberries has over 30 million customers; 7 million visitors place 780,000 orders per day.
In the mid-2010s, Wildberries was technically a .NET application with MS SQL servers. The monolithic backend and frontend had a performance limit, and this limit was slowly but surely approaching. As Wildberries entered the market of Belarus, the application's CPU usage never went below 90%. On Black Friday, there were three times more requests.
The technical team realized that the cost of MS SQL was becoming unacceptable with the increasing workload. They decided to break the monoliths into microservices. When choosing a solution, the team relied on the following requirements:
During the first stage, the developers ruled out any paid services because those costs exceeded the IT budget. That’s where Tarantool appeared. First, the team began transferring high-performance services that required many MS SQL database instances.
Today, the technical team of Wildberries has its own approach to creating reliable distributed systems. Tarantool is ideal for those systems as a universal storage for high-demand data: user profiles, banners, discounts, etc. In total, the company has twelve Tarantool-based microservices.
Here is how Tarantool operates. There are several master instances hosted on virtual or hardware machines in each data center. The connections follow the master-master pattern. Interfaces, or synchronizers, download information and write it onto the masters (e.g. information about discount coupons and their terms and conditions). Replicas hosted on virtual machines or in Kubernetes connect to these masters. On top of that, there are applications that access the replicas.
Each application works with two clusters. In case of a data center failure, an application can access the other cluster. There is a layer that stores the Tarantool Go driver interface and hides the logic. This layer sees all the replicas and can perform reads and writes on the master.
Tarantool is the main database for 12 microservices
The most critical service of the website is the master storage of profiles, which has all the data in Tarantool
12,000 RPS for the profile master storage
Tarantool experts will contact you shortly