网站系统,域名

访问Google

  1. You type maps.google.com into the address bar of your browser.
  2. The browser checks the cache for a DNS record to find the corresponding IP address of maps.google.com.
  3. The browser sends an HTTP request to the webserver.
  4. webserver => http server(Apache, nginx)
  5. http server => WebApplication(Django, nodejs)
  6. webapplication response

API 设计

直接使用user id是不安全的,正确方式是通过登陆后的token获取id



News Feed List Web Api



翻页 Pagination

多请求一个 page_size = n + 1, max_id = the last item id, real displayed = n items

refresh

find items id > max_id (latest)

Mention

直接返回缺点


短网址

Service


转换算法

随机生成去重

SQL

NoSQL

Scale

优化 response time

  1. Use Cache
  2. 地理位置提速
    centralized mysql + distributed memcached

一台数据库服务器搞不定


练习 Custom url (自定义链接 转 longurl)

自增Id法: 单独创建一个 cutsom url -> longurl 数据表
随机生成法: 直接存储 custom url

I am a real pikachu!