zhouyh139 / shorturl_test

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

1、短域名生成

1)、路由到短域名生成处理函数,参数验证。

2)、根据长域名生成md5码的短域名地址。

3)、检测短域名地址在数据库中是否存在,如果存在,直接返回短域名地址。

4)、如果不存在,存入数据库中,产品名称,产品类型,短域名地址,长域名地址

5)、短域名地址作为key ,长域名地址作为value,存入redis中

2、短域名重定向

1)、短域名网址通过nginx重定向到一个本地lua脚本。

2)、lua脚本读取redis的key对应的value值,重定向到长域名。

redis缓存高可用设计:

1、redis 可以采用主从加哨兵模式。

2、redis cluster集群方式。

3、存储结构用简单的string key value结构就可以。

mysql数据库高可用设计:

1、方案1:mha一主从两从高可用加构设计。

2、方案2:Percona XtraDB Cluster 集群架构设计。

3、方案3:一主一从加keepalive 架构设计。

4、方案4:腾讯或阿里云高可用设计。

5、方案5:tidb 分布式集群高可用设计。

6、存储方案:产品名称,产品类型,短域名地址,长域名地址,创建时间,创建人相关字段就可以。

mail: zhouyh@139.com

About