Day01-环境搭建
项目概述
课程大纲
业务说明
技术栈
-
Spring-Cloud-Gateway : 微服务之前架设的网关服务,实现服务注册中的API请求路由,以及控制流速控制和熔断处理都是常用的架构手段,而这些功能Gateway天然支持
-
运用Spring Boot快速开发框架,构建项目工程;并结合Spring Cloud全家桶技术,实现后端个人中心、自媒体、管理中心等微服务。
-
运用Spring Cloud Alibaba Nacos作为项目中的注册中心和配置中心
-
运用mybatis-plus作为持久层提升开发效率
-
运用Kafka完成内部系统消息通知;与客户端系统消息通知;以及实时数据计算
-
运用Redis缓存技术,实现热数据的计算,提升系统性能指标
-
使用Mysql存储用户数据,以保证上层数据查询的高性能
-
使用Mongo存储用户热数据,以保证用户热数据高扩展和高性能指标
-
使用FastDFS作为静态资源存储器,在其上实现热静态资源缓存、淘汰等功能
-
运用Hbase技术,存储系统中的冷数据,保证系统数据的可靠性
-
运用ES搜索技术,对冷数据、文章数据建立索引,以保证冷数据、文章查询性能
-
运用AI技术,来完成系统自动化功能,以提升效率及节省成本。比如实名认证自动化
-
PMD&P3C : 静态代码扫描工具,在项目中扫描项目代码,检查异常点、优化点、代码规范等,为开发团队提供规范统一,提升项目代码质量
虚拟机环境搭建
用户名:root
密码:itcast
静态ip地址:192.168.200.130
工程主体结构
登录->使用盐来配合验证
redis会报错先注释掉
接口工具
postman、swagger、knife4j
我用的是Apifox
swagger常用注解:
@Api:修饰整个类,描述Controller的作用
@ApiOperation:描述一个类的一个方法,或者说一个接口
@ApiParam:单个参数的描述信息
@ApiModelProperty:用对象接收参数时,描述对象的一个字段
ApUserLoginController
@RestController
@RequestMapping("/api/v1/login")
@Api(value = "app端用户登录", tags = "ap_user", description = "app端用户登录API")
public class ApUserLoginController {
@Autowired
private ApUserService apUserService;
@PostMapping("/login_auth")
@ApiOperation("用户登录")
public ResponseResult login(@RequestBody LoginDto dto){
return apUserService.login(dto);
}
}
LoginDto
@Data
public class LoginDto {
/**
* 手机号
*/
@ApiModelProperty(value="手机号",required = true)
private String phone;
/**
* 密码
*/
@ApiModelProperty(value="密码",required = true)
private String password;
}
网关
思路分析:
-
用户进入网关开始登陆,网关过滤器进行判断,如果是登录,则路由到后台管理微服务进行登录
-
用户登录成功,后台管理微服务签发JWT TOKEN信息返回给用户
-
用户再次进入网关开始访问,网关过滤器接收用户携带的TOKEN
-
网关过滤器解析TOKEN ,判断是否有权限,如果有,则放行,如果没有则返回未认证错误
前端集成
作用:
-
通过nginx的反向代理功能访问后台的网关资源
-
通过nginx的静态服务器功能访问前端静态页面
Day02
会遇到什么类路径找不到的 把target文件夹全部删掉,再次运行