title: Notes of System Design No.03 — Design a PasteBin
description: 'Design a PasteBin ’
date: 2022-05-13 18:01:58
tags: 系统设计
categories:
这是一个网站
在输入框输入文本
网站上会生成一个URL链接
别人可以通过这个链接
访问到你输入的内容









其实这个系统的设计和前面的TinyURL系统是大同小异的。本质上就相当于TinyURL的长URL部分变成用户输入的内容部分。所以可以先看一下前面的TinyURL设计的部分,
和TinyURL的区别在于,TinyURL的用户输入会小一点,只是一个URL,但是PasteBin会用户输入的数据有可能会非常大,比如10M这样子的数量级 这样的如果还是用直接用普通的数据库去存的话,就会导致在用户读取时,整个链路过载,每次数据流动都是10M多数据。
优化措施1:
优化措施2:
1.如果Content size <10Kb,则可以直接存到Mapping DB里面
2.如果Content size >10Kb,则可以通过S3来存储实际内容
优化措施3:
1.对于大文件数据 除了在Mapping DB里面存他的S3 link,还可以把preview data( 大概10KB左右)存到Mapping DB里面,这样用户在访问的时候 就可以先把10kb的preview data 先读取出来 然后再通过S3 link 把剩下的数据读取出来











