|
1 | 1 | # Designing Pastebin |
2 | 2 |
|
3 | | -- [Designing Pastebin](#designing-pastebin) |
4 | | - - [What is Pastebin](#what-is-pastebin) |
5 | | - - [Requirements and Goals of the System](#requirements-and-goals-of-the-system) |
6 | | - - [Some Design Considerations](#some-design-considerations) |
7 | | - - [Capacity Estimation and Constraints](#capacity-estimation-and-constraints) |
8 | | - - [Traffic estimates](#traffic-estimates) |
9 | | - - [Storage estimates](#storage-estimates) |
10 | | - - [Bandwidth estimates](#bandwidth-estimates) |
11 | | - - [Memory estimates](#memory-estimates) |
12 | | - - [System APIs](#system-apis) |
13 | | - - [Database Design](#database-design) |
14 | | - - [Observations](#observations) |
15 | | - - [Schema](#schema) |
16 | | - - [Paste](#paste) |
17 | | - - [User](#user) |
18 | | - - [High Level Design](#high-level-design) |
19 | | - - [Component Design](#component-design) |
20 | | - - [Application layer](#application-layer) |
21 | | - - [Datastore layer](#datastore-layer) |
22 | | - - [Detailed Component Design Diagram](#detailed-component-design-diagram) |
23 | | - - [Purging or DB Cleanup](#purging-or-db-cleanup) |
24 | | - - [Data Partitioning and Replication](#data-partitioning-and-replication) |
25 | | - - [Range Based Partitioning](#range-based-partitioning) |
26 | | - - [Hash-Based Partitioning](#hash-based-partitioning) |
27 | | - - [Cache and Load Balancer](#cache-and-load-balancer) |
28 | | - - [Cache](#cache) |
29 | | - - [Load Balancers](#load-balancers) |
30 | | - - [Security and Permissions](#security-and-permissions) |
| 3 | +1. [What is Pastebin](#what-is-pastebin) |
| 4 | +2. [Requirements and Goals of the System](#requirements-and-goals-of-the-system) |
| 5 | +3. [Some Design Considerations](#some-design-considerations) |
| 6 | +4. [Capacity Estimation and Constraints](#capacity-estimation-and-constraints) |
| 7 | + 1. [Traffic estimates](#traffic-estimates) |
| 8 | + 2. [Storage estimates](#storage-estimates) |
| 9 | + 3. [Bandwidth estimates](#bandwidth-estimates) |
| 10 | + 4. [Memory estimates](#memory-estimates) |
| 11 | +5. [System APIs](#system-apis) |
| 12 | +6. [Database Design](#database-design) |
| 13 | + 1. [Observations](#observations) |
| 14 | + 2. [Schema](#schema) |
| 15 | + 1. [Paste](#paste) |
| 16 | + 2. [User](#user) |
| 17 | +7. [High Level Design](#high-level-design) |
| 18 | +8. [Component Design](#component-design) |
| 19 | + 1. [Application layer](#application-layer) |
| 20 | + 2. [Datastore layer](#datastore-layer) |
| 21 | +9. [Detailed Component Design Diagram](#detailed-component-design-diagram) |
| 22 | +10. [Purging or DB Cleanup](#purging-or-db-cleanup) |
| 23 | +11. [Data Partitioning and Replication](#data-partitioning-and-replication) |
| 24 | + 1. [Range Based Partitioning](#range-based-partitioning) |
| 25 | + 2. [Hash-Based Partitioning](#hash-based-partitioning) |
| 26 | +12. [Cache and Load Balancer](#cache-and-load-balancer) |
| 27 | + 1. [Cache](#cache) |
| 28 | + 2. [Load Balancers](#load-balancers) |
| 29 | +13. [Security and Permissions](#security-and-permissions) |
31 | 30 |
|
32 | 31 | Design a Pastebin like web service, where users can store plain text. Users of the service will enter a piece of text and get a randomly generated URL to access it. |
33 | 32 |
|
|
0 commit comments