1. Round robin
The client requests are sent to different service instances in sequential order. The services are usually required to be stateless.
/2 2. Sticky round-robin
This is an improvement of the round-robin algorithm. If Aliceโs first request goes to service A, the following requests go to service A as well.
/3 3. Weighted round-robin
The admin can specify the weight for each service. The ones with a higher weight handle more requests than others.
4. Hash
This algorithm applies a hash function on the incoming requestsโ IP or URL.
/4 ๐น Dynamic Algorithms 5. Least connections
A new request is sent to the service instance with the least concurrent connections.
6. Least response time
A new request is sent to the service instance with the fastest response time.
/5 ๐ Over to you: We can use other attributes for hashing algorithms. For example, HTTP header, request type, client type, etc. What attributes have you used?
/6 Subscribe to our weekly free newsletter to learn something new every week: bit.ly/3FEGliw
/1 Caching is one of the ๐ฆ๐จ๐ฌ๐ญ ๐๐จ๐ฆ๐ฆ๐จ๐ง๐ฅ๐ฒ used techniques when building ๐๐๐ฌ๐ญ ๐จ๐ง๐ฅ๐ข๐ง๐ ๐ฌ๐ฒ๐ฌ๐ญ๐๐ฆ๐ฌ. When using a cache, here are the top 6 things to consider:
/2 The first draft of the cheatsheet was written by guest author @Zonito87.
/3 ๐๐ฎ๐ข๐ญ๐๐๐ฅ๐ ๐๐๐๐ง๐๐ซ๐ข๐จ๐ฌ:
โข In-memory solution
โข Read heavy system
โข Data is not frequently updated
1๏ธโฃ Redis is RAM-based. Access to RAM is at least 1000 times faster than access to random disks. Redis can be used as a cache to improve application responsiveness and reduce database load when used as a cache.
/2 2๏ธโฃ Redis implements IO multiplexing and single-threaded execution.
3๏ธโฃ Several efficient lower-level data structures are leveraged by Redis. By keeping these data structures in memory, serialization and deserialization costs are reduced.
/3 SortedSet, for example, makes the implementation of leaderboards so simple and efficient. On the other hand, a bitmap can be used to aggregate month-over-month login statuses.
๐ Over to you: What do you use Redis for in your projects?
Immutability here means that once data is written into Git, it cannot be changed. Modifications only create new data versions. The old data remains unchanged.
/2 Immutable system designs are commonly used in systems that require high levels of auditability, such as financial systems and version control systems. Here's how it's used in Git design:
/3 ๐นUsers' local Git storage consists of three sections: working copy, staging area, and local repository.
๐นWorking copies contain the files you are currently working on. The data is mutable, so you can do whatever you want with it
Disclaimer: since OpenAI hasn't provided all the details, some parts of the diagram may be inaccurate. @sama, we would love to hear your feedback.
We attempted to explain how it works in the diagram below. The process can be broken down into two parts.
/2 1. Training. To train a ChatGPT model, there are two stages:
- Pre-training: In this stage, we train a GPT model (decoder-only transformer) on a large chunk of internet data.
/3 The objective is to train a model that can predict future words given a sentence in a way that is grammatically correct and semantically meaningful.
After the pre-training stage, the model can complete given sentences, but it is not capable of responding to questions.
Letโs look at this question ๐ข๐ง ๐ ๐ฅ๐จ๐ง๐ ๐๐ซ ๐ญ๐ข๐ฆ๐ ๐ซ๐๐ง๐ ๐ to see what the cloud brings us.
/2 ๐น When a company or a business line initially starts, product-market fit is key. The cloud enables quick setup to run the system with minimal necessary hardware. The cost is also transparent.
/3 For example, if we run the databases on-premise, we need to take care of hardware setup, operating system installation, DBMS maintenance, etc. But if we use Amazon RDS, we need to take care of optimization.
This saves us the trouble to hire Linux admins and DB admins
/1 What is Buy Now, Pay Later (BNPL), and how does it work? What is the revenue model for BNPL providers?
/2 The growth of BNPL has been dramatic in recent years. The BNPL provider represents the primary interface between the merchants and the customers for both eCommerce and POS (Point of Sale).
/3 The diagram below shows how the process works:
Step 0. Bob registers with AfterPay. An approved credit/debit card is linked to this account.
Step 1. The "Buy Now, Pay Later" payment option is chosen by Bob when he wants to purchase a $100 product.