搭建短链服务

news2024/10/2 8:24:42

目录

一、背景

1.1短链接的优势

1.1.1优点一

1.1.2优点二

1.1.3优点三

1.1.4优点四

1.1.4优点五

二、原理

2.1利用http重定向

3.1实现方案

3.1.1发号器实现

3.1.2存储实现

3.1.3映射实现

3.2架构图


一、背景

    短链在互联网中盛行,搭建自己短链平台,可以有效提供短链服务支持。也可以使用第三方短链服务平台,但由被插播广告,泄露长链统计等相关数据。本文会介绍短链实现原理,搭建的代码。

1.1短链接的优势

1.1.1优点一

缩短长链接的地址长度,减少空间。

1.1.2优点二

避免原链接被屏蔽

1.1.3优点三

短链简洁、美观、不暴露参数

1.1.4优点四

保证短链不变时,修改原地址。

1.1.4优点五

短链还可以进行业务统计

二、原理

2.1利用http重定向

 http重定向可以分为临时重定向和永久重定向

可以参考博客:【计算机网络】HTTP 重定向_http重定向_千筠Wyman的博客-CSDN博客

三、实现方案及架构图

  系统核心实现,包含三个大的功能, 发号,存储,映射。

发号:使用发号器发号,每个长链接分配不同的id;存储:存储短链与长链的关系;映射:短链请求服务转环为长链接并重定向给你客户端。

3.1实现方案

3.1.1发号器实现

发号器的功能是使用发号器发号,每个长链接分配不同的id。可以选用hash算法或自增id。

方案一:

哈希算法生成ID:

(1)md5算法,通常用于信息摘要

(2)Sha256算法

(3)MurmurHash,乘法和旋转的hash算法,是一种非加密型哈希函数。

    可以参考:哈希MurmurHash算法详解_yjgithub的博客-CSDN博客​​​​​​

方案二:

数据库自动主键,msyql、oracle的自增主键生成ID

方案三:

uuid,guid生成ID

方案四:

分布式主键,雪花算法。

3.1.2存储实现

可以选用mysql、oracle、MongoDB。

3.1.3映射实现

使用缓存技术redis中间件。

301永久重定向和 302 临时重定向。
使用 301 虽然可以减少服务器的压力,但是无法在 server 层获取到短网址的访问次数了,如果链接刚好是某个活动的链接,就无法分析此活动的效果以及用于大数据分析了。
而 302 虽然会增加服务器压力,但便于在 server 层统计访问数,所以如果对这些数据有需求,可以采用 302,因为这点代价是值得的,但是具体采用哪种跳转方式,还是要结合实际情况进行选型。

3.2架构图

 

web服务可以部署多节点,通过负载均衡转发请求。redis和mysql也都可以使用集群模式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/544665.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

硬件工程师-MOS管

MOSFET 场效应管 N管 P管 对标三极管 N管 P管 三极管具有功率放大的作用 MOSFET也具有功率作用, 控制级的电流很小 控制信号的内阻大 输出级的电流很大 输出信号的内阻很小 三极管的缺点:流控…

Blender 建模键盘(PS修图、UV贴图、Cycles渲染引擎)

目录 1. 键盘模型1.1 键盘底座1.2 底座细节1.3 logo位置1.4 键盘按键1.5 按键添加1.6 合并按键 2. 贴图、渲染2.1 到PS添加按键文字2.2 保存png图片2.3 图像纹理2.4 UV编辑2.5 添加平面2.6 添加环境纹理2.7 灯光、摄像机2.8 渲染属性2.9 渲染出图 1. 键盘模型 原图 1.1 键盘底…

三、IOC容器(2)

四、IOC操作Bean管理&#xff08;xml注入集合属性&#xff09; 4.在集合里面设置对象类型值 ①Course类 ②Stu类 ③配置xml文件 ④测试 5.把集合注入部分提取出来 在Spring配置文件中引入名称空间 util 2.使用util标签完成list集合注入 ①提取list集合类型的属性注入 <…

如何调整碳化硅 MOSFET 驱动来减少功率损耗

如何调整碳化硅 MOSFET 驱动来减少功率损耗 1.如何减少传导损耗&#xff1f;2.如何减少开关损耗&#xff1f;2.1 关断损耗 (Eoff) 取决于 Rg 和 Vgs-off2.2 开通损耗 (Eon) vs. Rg2.3 开通损耗 Eon 和反向恢复损耗 Err 的米勒效应2.4 对驱动电流的要求 作者&#xff1a;Xiou 参…

销售/回收DSOS254A是德keysight MSOS254A混合信号示波器

Agilent DSOS254A、Keysight MSOS254A、 混合信号示波器&#xff0c;2.5 GHz&#xff0c;20 GSa/s&#xff0c;4 通道&#xff0c;16 数字通道。 ​Infiniium S 系列示波器 信号保真度方面树立新标杆 500 MHz 至 8 GHz 出色的信号完整性使您可以看到真实显示的信号&#xff1…

远程桌面连接不上解决方法

远程桌面连接是一种方便快捷的技术&#xff0c;可以让用户在不同的设备之间共享桌面和访问远程计算机。然而&#xff0c;有时候我们可能会遇到远程桌面连接无法正常连接的问题。在本篇文章中&#xff0c;我们将详细介绍远程桌面连接无法连接的常见原因&#xff0c;并提供相对应…

0601-指针的基础

内存 物理存储器和存储地址空间 物理存储器&#xff1a;实际存在的具体存储器芯片。比如&#xff1a;内存条、RAM芯片、ROM芯片。 存储地址空间&#xff1a;对存储器编码的范围。 编码&#xff1a;对每个物理存储单元&#xff08;一个字节&#xff09;分配一个号码寻址&…

520网络情人节:用双语告白你的女神男神!

网络情人节&#xff08;Network Valentines Day&#xff09;——520、521被喻为“我愿意、我爱你” 的意思&#xff0c;又被称为“结婚吉日”、“表白日”、“撒娇日”、“求爱节”。每年5月20日和5月21日的“网络情人节”也成为了情侣们扎堆登记结婚、隆重举办婚宴 的吉日。 5…

系统分析师经典易错题,解题思路一

数据库通常采用三级模式结构,其中,视图对应外模式,基本表对应模式,存储文件对应内模式。数据的独立性是由DBMS的二级映像功能来保证的。数据的独立性包括数据的物理独立性和数据逻辑独立性。数据的物理独立性是指当数据库的内模式发生改变时,数据的逻辑结构不变。为了保证…

HTML获取SpringBoot从model传的值

controller层如下&#xff1a; html获取格式&#xff1a;[[${传入的值}]] 效果图&#xff1a;

Mybatis操作数据库执行流程的先后顺序是怎样的?

MyBatis是一个支持普通SQL查询、存储及高级映射的持久层框架&#xff0c;它几乎消除了JDBC的冗余代码。使Java开发人员可以使用面向对象的编程思想来操作数据库。对于MyBatis的工作原理和操作流程的理解&#xff0c;我们先来看下面的工作流程图。 MaBatis的工作流程 在上图中…

VMware和Ubuntu20.04的安装

VMware安装&#xff1a; 1、下载好VM后右击管理员运行&#xff1a; PS&#xff1a;推荐大家去官网下载&#xff0c;如果需要许可密钥的话&#xff0c;可以去搜一下&#xff0c;或者私信一下UP&#xff0c;链接放下面了。 VM官网 因为我已经安装好了&#xff0c;所以就不在贴…

Appium自动化环境搭建保姆级教程

APP自动化测试运行环境比较复杂&#xff0c;稍微不注意安装就会失败。我见过不少朋友&#xff0c;装了1个星期&#xff0c;Appium 的运行环境还没有搭好的。 搭建环境本身不是一个有难度的工作&#xff0c;但是 Appium 安装过程中确实存在不少隐藏的比较深的坑&#xff0c;如果…

5.1图的物理结构与基本操作

1.图的物理结构 一.邻接矩阵存储稠密图 用于存储无向图&#xff0c;有向图&#xff0c;总之各类图 优缺点&#xff1a;适合存储稠密图&#xff0c;属于上下三角矩阵&#xff0c;有重复 复杂度&#xff1a;O(V),空间O(V^2) 性质&#xff1a;阶乘得到某一点的值&#xff0c;为顶…

C语言入门级小游戏——三子棋

文章目录 游戏文件的创建游戏菜单重头戏&#xff0c;游戏正式开始棋盘的创建数据清空打印棋盘 玩家下棋电脑下棋输赢的判断1.赢2.平局&#xff0c;游戏继续 代码展示 今天我们写一个小游戏——三子棋来增加我们对编程的兴趣&#xff0c; 希望这篇文章对友友们有帮助! 游戏文件的…

测试进阶-软件测试的分类

目录 按照测试对象划分界面测试 *可靠性测试如何进行可靠性测试 容错性测试文档测试兼容性测试 *易用性测试 *安装卸载测试 *安全测试性能测试内存泄漏测试 按照是否查看代码划分黑盒测试白盒测试灰盒测试 按照开发阶段划分测试金字塔单元测试集成测试系统测试回归测试冒烟测试…

行政前台快递管理软件使用教程

行政前台快递如何管理&#xff0c;是每个行政人员永远避不开的话题。 不管是从行政相关的论坛中&#xff0c;还是从身边从事行政相关工作的亲友口中&#xff0c;亦或是某些公司前台堆积的快递&#xff0c;我们都能看到、听到行政相关人员抱怨“行政前台快递管理为什么这么难”…

办公环境监测与智能控制软硬件全套解决方案

心理学研究表明&#xff0c;良好的工作环境对员工的身心健康及提高工作效率有积极影响。 不仅如此&#xff0c;近几年国家尤其提倡“碳中和”与“碳达峰”政策&#xff0c;并提出“节约能源、美化环境”的重要目标。以“企业数字化转型”为根本&#xff0c;一切事物都在朝着智能…

因子图优化

最大后验概率估计问题 我们常将状态估计问题建模为最大后验估计&#xff08;MAP&#xff09;。之所以命名为最大后验估计&#xff0c;是因为它在给定了观测 Z \bm Z Z的情况下&#xff0c;最大化状态 X \bm X X的后验概率密度 p ( X ∣ Z ) p(\bm X|\bm Z) p(X∣Z) X M A P …

迅为RK3568开发板驱动教程更新了兄弟们,思路更科学

驱动视频全新升级&#xff0c;并持续更新~更全&#xff0c;思路更科学&#xff0c;入门更简单。 迅为基于iTOP-RK3568开发板进行讲解&#xff0c;本次更新内容为第九期&#xff0c;主要讲解设备模型&#xff0c;共计29讲。 教程观看链接&#xff1a;B站搜索-迅为电子 课程目录…