Top.Mail.Ru
Wildberries: Optimizing TCO with Tarantool
Wildberries logo

Optimizing TCO
with Reliable Tarantool Cache

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.

Tasks
and Requirements

In the mid-2010s, Wildberries technically was a .NET application with MS SQL servers. The monolithic backend and frontend had a performance limit, and this limit was slowly but surely approaching. With the entry to the market of Belarus, the 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 becomes unacceptable with the increasing workload. So, they have decided to break the monoliths into microservices. When choosing a solution, the team relied on the following requirements:

  • A reliable cache for critical systems is a must
  • Reliability is more important than speed
  • Savings on hardware and licenses as compared to MS SQL
  • Willingness to compromise functional capacity (when it comes to simple operations, one doesn’t need the tricked-out PostgreSQL)
  • Data persistency is important
  • Automatic switching from one data center to another
  • Horizontal scaling

Solution

During the first stage, the developers discarded paid services because of their cost: for the necessary solution and performance, the cost exceeded the IT budget. That’s where Tarantool appeared. First, the team began to transfer high-load services, where the current MS SQL database required many copies.

Today the technical team of Wildberries has its own approach to creating reliable distributed systems. For this kind of systems, Tarantool is good as a universal storage for processing high-demand data: user profiles, banners, discounts, etc. In total, there are twelve Tarantool-based microservices.

Solutions scheme
Solutions scheme
Solutions scheme
Solutions scheme
  • The most critical service of the website is the Master Storage of User Profiles which contains data of 50 million users. For this, MS SQL has been completely discarded.
  • The most extensive Tarantool-based service of Wildberries is the Service of Items Saved for Later Use. It takes about 120 GB in memory, and 3-4 copies are available in each data center.
  • In RPS terms, the highest-loaded services are the Promotizer and the Master Storage of User Profiles — about 6,000 and 12,000 requests per second, respectively.
  • Tarantool is also used for quick reference in the warehouse system to quickly recheck information in some cases.

The scheme of Tarantool operation looks as follows. There are several masters on virtual or hardware machines in each data center. The connection is established according to the master-master scheme. There are interfaces, or synchronizers, that download information and write it onto the masters (e.g. information about discount coupons and their terms and conditions). The replicas on virtual machines or in Kubernetes connect to these masters. At the top, the applications 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. The layer sees all the replicas and can work with the master for reads and writes.

Results

  • 12
    microservices

    Tarantool is the main database for 12 microservices

  • user
    profiles

    The most critical service of the website is the master storage of profiles which stores data in Tarantool

  • 12 000
    rps

    12,000 RPS for the master storage of profiles

Other
success cases

How Tarantool speeds up Megafon services
Alfa Bank Logo
How Gazprombank speed up internal systems 50 times using the Tarantool
GPB Logo

Get
a consultation

Order
a demo

Thank you for your request

Tarantool experts will contact you shortly

Thanks
Thanks