Skip to main content

Blog - Page 16

Large-scale web services deal with high-volume traffic, but one host could only serve a limited amount of requests. There is usually a server farm to take the traffic altogether. How to route them so that each host could evenly receive the request?

Read more →

Internet services often need to handle traffic from around the world, but a single server can only serve a limited number of requests at the same time. Therefore, we typically have a server cluster to collectively manage this traffic. The question arises: how can we evenly distribute this traffic across different servers?

Read more →

Five concurrency models you may want to know: Single-threaded; Multiprocessing and lock-based concurrency; Communicating Sequential Processes (CSP); Actor Model (AM); Software Transactional Memory (STM).

Read more →

Technology and politics are two forces that influence supply chains. In the context of global industrialization driven by technological change, developed countries provide technology while developing countries offer cheap labor. Companies consider two main points when transforming their supply chains: the risks associated with reducing supply chain costs and the increased availability of products and services due to global trade.

Read more →

How to design a realtime typeahead autocomplete service? Linkedin's Cleo lib answers with a multi-layer architecture (browser cache / web tier / result aggregator / various typeahead backend) and 4 elements (inverted / forward index, bloom filter, scorer).

Read more →

To achieve a higher ROI in advertising, Lyft launched a marketing automation platform, which consists of three main components: lifetime value forecaster, budget allocator, and bidders.

Read more →

For guests and hosts, we store data with a relational database and build indexes to search by location, metadata, and availability. We can use external vendors for payment and remind the reservations with a priority queue.

Read more →

Memcached = rich client + distributed servers + hash table + LRU. It features a simple server and pushes complexity to the client) and hence reliable and easy to deploy.

Read more →

How can advertising campaigns achieve higher returns with less money and fewer people? Lyft's answer is automation, which includes an LTV prediction module, a budget allocation module, and a delivery module. When people are freed from tedious delivery tasks and can focus on understanding users, channels, and the messages they need to convey to their audience, they can achieve better campaign results.

Read more →

Empathy plays the most important role in writing solid code. Besides, you need to choose a sustainable architecture to decrease human resource costs in total as the project scales. Then, adopt patterns and best practices; avoid anti-patterns. Finally, refactor if necessary.

Read more →

There are many metrics to measure the quality of a product: the number of active users, profit, transaction volume, retention rate, and more. To ensure better product development, it is essential to focus on the following metrics: improve retention rate, as high retention means high valuation; assess weekly growth rate, maintaining its level will lead to exponential growth; prioritize iteration speed. When it comes to metrics, we must approach them correctly.

Read more →