接口一站通
基于 React + Spring Boot + Dubbo + Gateway 的 API 接口开放调用平台。管理员可以接入并发布接口,可视化各接口调用情况;用户可以开通接口调用权限、浏览接口及在线调试,并通过客户端 SDK 轻松调用接口。
主要工作
1. 为防止接口被恶意调用,设计 API 签名认证算法,为用户分配唯一一对密钥以鉴权,保障调用的安全性、可溯源性。
2. 为解决开发者调用成本过高的问题,基于 Spring Boot Starter 开发了客户端 SDK,一行代码即可调用接口,提高开发体验。
3. 选用 Spring Cloud Gateway 作为 API 网关,实现了路由转发、访问控制、流量染色,并集中处理签名校验、请求参 数校验、接口调用统计等业务逻辑,提高安全性的同时、便于系统开发维护。
4. 为解决多个子系统内代码大量重复的问题,抽象模型层和业务层代码为公共模块,并使用 Dubbo RPC 框架实现子系统 间的高性能接口调用,大幅减少重复代码。
云易生活
云易生活是一个综合性的B2C平台,会员可以在商城浏览商品、下订单,以及参加各种活动。此项目分为后台项目管理部分和前台使用部分,使用SpringCloud分布式架构,使用SpringBoot开发微服务,使用SpringCloudALiBaBa的Nocas作服务注册中心和配置中心。
主要工作
1.使用Redis缓存常用的商品信息,并使用Redisson分布式锁解决缓存击穿问题
2.使用rocketMq延迟消息,解决订单在规定时间内未支付占用库存的问题,并确保订单从创建到结束、从占有库存到释放整个过程的正常流转。
3.收集慢sql语句,使用explain语句分析sql查询,使大部分查询接口速度小于200ms
4.使用 Knife4j + Swagger 自动生成后端接口文档,并通过编写 @ApiOperation 等注解补充接口注释,避免了人工编写维护文档的麻烦。