# api **Repository Path**: pigeonthree/api ## Basic Information - **Project Name**: api - **Description**: 一个api接口开放平台 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: https://gitee.com/pigeonthree/api - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-03-08 - **Last Updated**: 2023-08-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 项目背景 API接口调用平台,帮助企业、个人统一开放接口,减少沟通成本,避免重复造轮子,为业务高效赋能。 普通用户:注册登录,开通接口调用权限,使用接口。 后台:调用统计和可视化分析接口调用情况,管理员发布接口、下线接口、新增接口。 区别于swagger和Apifox,芜湖api接口平台提供的是服务,而不仅仅是验证接口的平台。 预计提供随机图像,每日名言警句,天气预报。 ## 主要功能: - API接入 - 防止攻击(安全性) - 不能随便调用(限制、开通) - 统计调用次数 - 计费 - 流量保护 ## 架构图: ![架构图](image.png) ## 技术选型: ### 后端: Spring Boot Spring Boot Starter(SDK开发) Dubbo (RPC) > Feign底层是HTTP协议,用动态代理和注解实现,远程调用需要建立TCP连接,开销比较大,Dubbo基于RPC协议实现,远程调用只要发送一个小的二进制请求,性能高。 Nacos(注册中心) Spring Cloud Gateway(网关、限流、日志实现) ## 启动方式: 先启动gateway,再启动interface模拟接口,最后启动主程序。 后端: api-backend:7529端口,后端接口管理(上传、下线、用户登录)[http://localhost:7529/api/doc.html](http://localhost:7529/api/doc.html) api-gateway:8090端口,网关 api-interface:8123端口,提供各种接口服务(可以有很多个且分布在各个服务器)。这里的tests有个发送请求的跑通流程的测试用例。 api-client-sdgk:客户端SDK,无端口,发送请求到8090端口,由网关进行转发到后端的api-interface ## 详细设计文档: ak&sk,采用md5加密,md5加密后的128位(bit)的结果转换成16进制字符表示的字符串。