『高可用短链服务』基于.NET开源项目SuperShortLink打造稳定可靠的短链转换系统 您所在的位置:网站首页 url短链接原理 『高可用短链服务』基于.NET开源项目SuperShortLink打造稳定可靠的短链转换系统

『高可用短链服务』基于.NET开源项目SuperShortLink打造稳定可靠的短链转换系统

2023-10-17 02:30| 来源: 网络整理| 查看: 265

请添加图片描述 📣读完这篇文章里你能收获到

了解博主的开源短链项目SuperShortLink学习长链转短链、短链跳转长链、短链访问统计的原理及方法掌握内部其他项目的多种接入方式

文章目录 一、SuperShortLink1. 源码地址2. 功能介绍3. 架构设计文档 二、构建运行项目1. 运行项目2. 配置更新 三、项目接入1. 通过API扩展类库接入(推荐)2. 通过Core扩展类库接入

一、SuperShortLink

这是博主开源的一个基于.NET开源的短链生成及监控系统,它包含了在线生成短链、短链跳转长链、支持短链访问次数以及Web监控页面,可以帮助我们更容易地生成短链、监控短链!

1. 源码地址 https://github.com/Bryan-Cyf/SuperShortLink 2. 功能介绍 基于.NET 6开发的后端及Web管理界面 支持自定义短链长度 支持在线短链生成及跳转长链 支持实时统计短链访问次数 支持多种持久化方式:MySQL/PostgreSQL/SqlServer(2012及以上) 傻瓜式配置,开箱即用 3. 架构设计文档 『造轮子』亿级短URL生成器的架构设计及源码分享

二、构建运行项目 1. 运行项目

Step 1 : 打开项目 通过VisualStudio打开 SuperShortLink.sln

Step 2 : 配置数据库

可选:MySQL/PostgreSQL/SqlServer(2012及以上)在appsetting.json文件中更新连接字符串 "ShortLink": { "Secrect": "vZCN8VhSge13UQrYjBTwKulWqsIOAocL0DkmRdxPMJf5tiHbn72z69aXpGyFE4",// 随机打乱的Base62编码 "CodeLength": 6, //短链长度 "DbType": "PostgreSQL", //DatabaseType:MySQL/PostgreSQL/SqlServer(仅支持SQL Server2012及以上) "ConnectionString": "Server=127.0.0.1;Port=5432;User Id=uid;Password=pwd;Database=test_db;",//数据库链接字符串 "LoginAcount": "admin", //登陆账号 "LoginPassword": "123456" //登陆密码 }

Step 3 : 执行数据库建表SQL 建表SQL语句

Step 4 : 运行项目

登陆管理后台:{域名}/home/index默认登陆账号密码:admin 123456 2. 配置更新 修改账号密码:更新appsetting.json的LoginAcount及LoginPassword修改随机秘钥:可直接运行测试用例随机生成新秘钥:ShortLinkTest/Generate_Key_Be_Valid,然后更新appsetting.json的Secrect

三、项目接入 1. 通过API扩展类库接入(推荐)

API类库是基于HTTP请求,适合将接口开放给其他平台/系统调用,对应用屏蔽了Token,时间戳,应用Code等所需携带的请求细节

Step 1 : 安装包,通过Nuget安装包

Install-Package SuperShortLink.Api

Step 2 : 配置 Startup 启动类

public class Startup { //... public void ConfigureServices(IServiceCollection services) { //configuration services.AddShortLinkApi(option => { option.ApiDomain = "短链服务域名"; option.AppSecret = "应用秘钥"; option.AppCode = "应用Code"; }); } }

Step 3 : IShortLinkApiService服务接口使用

[Route("api/[controller]/[Action]")] public class ShortLinkController : Controller { private readonly IShortLinkApiService _apiService; public ShortLinkController(IShortLinkApiService apiService) { _apiService = apiService; } /// /// 解析生成短网址 /// /// 长链接 /// [HttpPost] public async Task Generate(string url) { var short_url = await _apiService.GenerateAsync(url); return short_url; } } 2. 通过Core扩展类库接入

Core类库是直连数据库的,适合由内部平台/系统调用,不需经过授权验证

Step 1 : 安装包,通过Nuget安装包

Install-Package SuperShortLink.Core

Step 2 : 配置 Startup 启动类

public class Startup { //... public void ConfigureServices(IServiceCollection services) { //configuration services.AddShortLink(option => { option.ConnectionString = "数据库链接"; option.DbType = "数据库类型";//可选:DatabaseType.PostgreSQL/MySQL/SqlServer option.Secrect = "打乱后的Base62编码", option.CodeLength = "短链长度"; }); } }

Step 3 : IShortLinkService服务接口使用

[Route("api/[controller]/[Action]")] public class ShortLinkController : Controller { private readonly IShortLinkService _shortLinkService; public ShortLinkController(IShortLinkService shortLinkService) { _shortLinkService = shortLinkService; } /// /// 解析生成短网址 /// /// 长链接 /// [HttpPost] public async Task Generate(string url) { var short_url = await _shortLinkService.GenerateAsync(url); return short_url; } }

请添加图片描述 请添加图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有