目录

1.什么是短链?

 2.为什么需要这种短链服务?

 3.短链组成

 4.最简单的方式

5.短链创建者和访问者周期

 6.短链URL生成服务里面的问题你能提前想到哪些?


1.什么是短链?

协议://短链域名/短链码,我们每天都会收到来自抖音,京东,淘宝等推送大概这种格式的商家商品等信息,由短链域名和短链码组成,点击后可以直接跳转到对应APP详情页面的连接,我们称之为短链接

java 抖音通过短连接获取长链接 抖音短链接解析_java 抖音通过短连接获取长链接

 2.为什么需要这种短链服务?

APP和营销活动发送营销短信链接过长,【浪费短信发送费用】

公司电商产品推广、业务活动页、广告落地页 缺少实时【数据反馈和渠道效果分析】

老项目业务推广【没人维护,无法做埋点】需要统计效果

java 抖音通过短连接获取长链接 抖音短链接解析_java 抖音通过短连接获取长链接_02

 3.短链组成

协议://短链域名/短链码

 4.最简单的方式

一个短链编码,去数据库select * from table where code =XXX,返回给用户就行

java 抖音通过短连接获取长链接 抖音短链接解析_持续更新_03

5.短链创建者和访问者周期

由管理员创建,经过短链服务生成,扣减流量包后,存储短链数据库。然后提供给推广人员进行发送对应客户群体。普通用户访问短链,经过短链服务,找寻原始URL,访问跳转到目标站点。

java 抖音通过短连接获取长链接 抖音短链接解析_持续连载更新_04

 6.短链URL生成服务里面的问题你能提前想到哪些?

看起来简单一行sql就能搞定的问题,为什么要单独提出来讲呢?

因为 select * from table where code =XXX,这个是使用在少数据量场景下的,本专栏博客针对海量短链数据,高并发请求下的各种解决方式进行展开讲解分析,涉及技术点有redis (冗余双写时用redis+lua来做重入锁),rabbitmq(冗余双写时,用来做数据最终一致性),shardingjdbc(亿量级数据进行分库分表),以及短链完成后flink的实时多终端统计展示,都是实际项目中用到的经过踩坑的项目经验,值得关注

先抛出来几个问题,大家先想一下,然后问题下方对应博客中有详细描述

问题一:长链的关系和短链的关系
    一对一?一对多?多对多?
问题二:前端访问短链是如何跳转到对应的页面的?
问题三:短链码是如何生成的?知道几种方式?

问题四:SaaS类型业务,数据量有多大,是否要分库分表
问题五:如果分库分表,PartitionKey是哪个?使用怎样的策略
问题六:如果分库分表,访问短链怎么知道具体是哪个库哪个表?

问题七:如果分库分表,怎么查看某个账号创建的全部短链?

这些问题都会在后面博客中一一详细解答,亲身经历海量大数据工作中项目,连载持续更新中,感兴趣可以订阅关注哦,有问题欢迎留言沟通~