zoukankan      html  css  js  c++  java
  • URL shortening service

    Use Cases

    1, shortening : take a URL => return a much shorter URL

    2, redirection : take a short URL => redirect to the original URL

    3, custom URL : http://goo.gl/Trump2016

    4, High availability

    5, Analytics : 

    6, Automatic link removal

    7, Manual link removal : e.g. porngraphy

    8, UI vs. API, see http://goo.gl

    Constraints:

    make some guess about the volume

    1, new URLs per month : 100 million   => because twitter daily tweets: 

    2, request per month : 1 billion => 

    3, 10% for shortening and 90% for redirection

    4, Requests per second : 400+ (40 : shortens, 360 : redirects)

    5, 500 bytes per URL

    6, 6 bytes per hash

    Abstract Design:

     1, Application service layer - services the requests

      * shortening service

      * redirection service

     2, Data storage layer - keeps track of the hash<->URL mapping

      * Acts like a big hash table

    Bottlenecks:

    1, traffic - how much, estimation, probably not the problem

    2, data volume - quickly look up and insertion

    3, how to split (scale)

  • 相关阅读:
    PHP数组处理总结
    设计模式之-工厂模式理解
    我的世界观
    编程入门
    2019 新的一年
    placeholder 不支持ie8
    2018年8月20日
    HttpClientUtil
    通用mapper
    small_demo
  • 原文地址:https://www.cnblogs.com/qsort/p/5931491.html
Copyright © 2011-2022 走看看