短链系统设计-服务设计

简介: 该系统其实很简单,只需要有一个 service即可:URL Service。由于 tiny url只有一个 UrlService:本身其实就是个小的独立应用也无需关心其他任何业务功能

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

10.png


POST /data/shorten(不太推荐,不符合 REST 设计风格,但也有人在用)

returh a short url

11.png

12.png


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

目录
相关文章
|
自然语言处理 NoSQL Redis
短链平台设计
一种生产环境可用的短链生成方法,将长度较长、难以识别的长链转换成长度可控的短链,点击短链再跳转回长链的方法
559 0
|
SQL 缓存 NoSQL
高性能短链设计
高性能短链设计
|
数据库 存储 关系型数据库
|
11月前
|
缓存 监控 Linux
Linux性能分析利器:全面掌握perf工具
【10月更文挑战第18天】 在Linux系统中,性能分析是确保软件运行效率的关键步骤。`perf`工具,作为Linux内核自带的性能分析工具,为开发者提供了强大的性能监控和分析能力。本文将全面介绍`perf`工具的使用,帮助你成为性能优化的高手。
596 1
|
存储 缓存 监控
Linux性能分析工具-perf并生成火焰图
Linux性能分析工具-perf并生成火焰图
|
存储 机器学习/深度学习 数据可视化
浅谈数字化和可视化的区别、各自的优缺点及未来的趋势主流
浅谈数字化和可视化的区别、各自的优缺点及未来的趋势主流
1082 2
|
存储 缓存 NoSQL
高并发架构设计三大利器:缓存、限流和降级问题之Redis用于搭建分布式缓存集群问题如何解决
高并发架构设计三大利器:缓存、限流和降级问题之Redis用于搭建分布式缓存集群问题如何解决
200 1
|
消息中间件 运维 容灾
RocketMQ 在小米的多场景灾备实践案例
RocketMQ 在小米的多场景灾备实践案例
1608 101
RocketMQ 在小米的多场景灾备实践案例
|
存储 C语言 C++
std::atomic 相关接口(来自cppreference.com)
std::atomic 相关接口(来自cppreference.com)
179 0
|
并行计算 前端开发 安全
【C++并发编程】std::future、std::async、std::packaged_task与std::promise的深度探索(一)
【C++并发编程】std::future、std::async、std::packaged_task与std::promise的深度探索
455 0