想基于 Node 撸一个短链接,各位大佬有什么建议么

2020-12-06 12:50:44 +08:00
 TheZihanGu

基础构思基于 Node + MongoDB 或 Redis,Nginx 反代 Express 。
项目主要是自用,可能会加 Token 鉴权,因此可能不用关心 URL 审核的问题。
目前生成短链部分没有问题...主要是关于跳转的逻辑。有两种思路,一是伪静态到页面然后请求后端接口返回长链接在进行跳转,另外一种是直接 Node 从数据库取到长链接然后 Express 重定向跳转。
各位大佬能否给一些建议🤔

5094 次点击
所在节点    Node.js
29 条回复
netnr
2020-12-07 09:03:58 +08:00
一个 id 生成一个文件,内容写入链接,不知道相比数据库咋么样
securityCoding
2020-12-07 09:59:44 +08:00
@netnr 肯定慢很多啊
chogath
2020-12-07 10:13:07 +08:00
关键词: 数据库、唯一索引(通常是自增主机 ID )、缓存层( Redis )
qwerthhusn
2020-12-07 11:44:04 +08:00
如果会 LUA 的话最好,直接 Nginx 撸一个
libook
2020-12-07 14:06:38 +08:00
直接返回 302 最简单。

先做个 MVP 方案出来,根据实际使用中遇到的问题再做优化就好。
simon3000
2020-12-07 17:48:32 +08:00
数据库方面推荐一个 kv 的:LevelDB
TheZihanGu
2020-12-07 20:00:00 +08:00
@qwerthhusn 问题是太菜了,不会撸😂
@libook 感谢建议,已经写出来 302 跳转了。
@netnr 你别说,最近我还真看到一个类似的。每生成一个短链接都生成目录+ HTML 文件然后 JavaScript 跳转...🤔
atian25
2020-12-18 16:54:39 +08:00
我们这边支撑了蚂蚁的短链服务,具体的方案里面,mongodb 、redis 这些都没用,直接用 oss 就可以了。
xmsz
2021-12-29 16:04:07 +08:00
@atian25 怎么实现的

是自动创建跳转的 index.html 页面吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/732613

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX