This PR adds all the guides from [Visual Guides](https://bytebytego.com/guides/) section on bytebytego to the repository with proper links. - [x] Markdown files for guides and categories are placed inside `data/guides` and `data/categories` - [x] Guide links in readme are auto-generated using `scripts/readme.ts`. Everytime you run the script `npm run update-readme`, it reads the categories and guides from the above mentioned folders, generate production links for guides and categories and populate the table of content in the readme. This ensures that any future guides and categories will automatically get added to the readme. - [x] Sorting inside the readme matches the actual category and guides sorting on production
1.8 KiB
title, description, image, createdAt, draft, categories, tags
| title | description | image | createdAt | draft | categories | tags | |||
|---|---|---|---|---|---|---|---|---|---|
| 0 to 1.5 Billion Guests: Airbnb's Architectural Evolution | Explore Airbnb's architectural evolution to support 1.5 billion guests. | https://assets.bytebytego.com/diagrams/0427-zero-to-1-5-billion-guests-airbnb-s-architectural-evolution.png | 2024-02-27 | false |
|
|
Airbnb operates in 200+ countries and has helped 4 million hosts welcome over 1.5 billion guests across the world.
What powers Airbnb technically?
Airbnb started as a monolithic application. It was built using Ruby-on-Rails and was internally known as the Monorail.
The monolith was a single-tier unit responsible for both client and server-side functionality.
However, as Airbnb went into hypergrowth, the Monorail started facing issues. This is when they began a migration journey to move from monolithic to Service-Oriented Architecture.
For Airbnb, SOA is a network of loosely coupled services where clients make their requests to a gateway and the gateway routes these requests to multiple services and databases.
Various types of services were built such as:
- Data Service: This is the bottom layer and acts as the entry point for all read and write operations on the data entities.
- Derived Data Service: These services read from data services and apply basic business logic.
- Middle Tier Service: They manage important business logic that doesn’t fit at the data service level or derived data service level.
- Presentation Service: They aggregate data from all other services and also apply some frontend-specific business logic.
After the migration, the Monorail was eliminated and all reads/writes were migrated to the new services.
