Written By: Daniel Geng, Software Engineer | Pierre Poitevin, Senior Software Engineer| Xiaohu Li, Engineering Manager

We introduced the architecture and baseline performance benefits of the ES plugin in Part 1. In this post, we will focus on a specific customization that removes one of the largest bottlenecks in the recommendations ecosystem.

Problem

When we query ES to fetch recommendations to serve, we need to send a list of users to skip. For example, users that you have already seen recently and users that you are already matched with should not be recommended to you again. This skip list can be…


Written By: Pierre Poitevin, Senior Software Engineer|Daniel Geng, Software Engineer | Xiaohu Li, Engineering Manager

Problems

The Tinder Eng team has recently been working on integrating machine learning (ML) algorithms into the Tinder recommendation system. The Tinder recommendation system is what is used to provide users with recommendations, that the users can then like or not by using the Swipe Right or Swipe Left features. This recommendation system is discussed in the blog post: Powering Tinder® — The Method Behind Our Matching.

To start with, we came up with several potential options, but they all relied on many more features (or…


Authors: Frank Ren|Director, Backend Engineering, Xiaohu Li|Manager, Backend Engineering, Devin Thomson| Lead, Backend Engineer, Daniel Geng|Backend Engineer

We covered the sharding mechanism in our previous post, in which we laid the theoretical foundation of geosharded clusters.

In part 2, we are going to explain how we built a high-performing, scalable, and balanced infrastructure to support our business needs, as well as discuss some interesting engineering challenges we have overcome, and the considerations behind them.

High-Level Architecture

After we finalized the sharding algorithm and implemented the abstraction layer as an internal microservice, we had the high level cluster architecture seen below:

Xiaohu Li

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store