2 Service 服务 - 逻辑块聚类与接口设计

该系统其实很简单,只需要有一个 service即可:URL Service。由于 tiny url只有一个 UrlService:

  • 本身其实就是个小的独立应用
  • 也无需关心其他任何业务功能

方法设计:

UrlService.encode(long_url):编码方法

UrlService.decode(long_url):解码方法

访问端口设计,当前有如下两种常用主流风格:

  • GET /<short_url> REST 风格
    Return a http redirect resonse
  • 短链系统设计-服务设计_java

  • POST /data/shorten(不太推荐,不符合 REST 设计风格,但也有人在用)
    returh a short url
  • 短链系统设计-服务设计_接口设计_02

短链系统设计-服务设计_接口设计_03


那么,你们公司的短链系统是选择哪种服务设计呢?