1.分布式基础概念
1.微服务
最大特点:服务的独立,自治
为每一个不同功能的项目,都创建了自己的服务,而且在实际开发中这些不同的服务可以分配给不同的人开发
2.注册中心
由微服务引出,因为不同微服务需要调用其他服务的方法,我们就需要一个注册中心实时的感知每一个服务
3.配置中心
服务上线后,我们不需要修改本地源代码然后再打包重新上线,我们用一个线上可视化的配置中心界面来更改配置,发布后服务直接获取到最新的数据
4.远程调用
服务开发期间,用Feign来实现远程调用,在SpringCloud里就是用Feign来给对方发送请求
5.Feign
要使用Feign,首先要导入Feign的一些依赖,然后开启远程调用功能
6.网关
所有请求发送给网关,由网关代理给其他服务,我们就可以在网关处做很多功能设置:
比如:统一的跨域解决(配置gulimallCorsConfiguration类),造成跨域的原因(前端在给后台发请求时,由于服务地址不同)
2.基础开发
1.SpringBoot2.0
带来了Reactor,响应式编程,优点:高性能.高并发,低延迟 (异步处理能力)
2.SpringCloud
简单的注解,如开启Feign的远程调用等
3.Mybatis-Plus
配置了包扫描,Mapper方法
4.Vue组件化
5.阿里云对象存储
调用第三方服务张,该怎么用,对照SDK文档去开发
3.环境
1.Vagrant
2.Linux
3.Docker
部署MySQL和Redis
4.MySQL
5.Redis
6.逆向工程&人人开源
基于Mybatis-Plus,CRUD基本都能实现了
4.开发规范
1.数据校验JSR303
注解校验
2.全局异常处理
3.全局跨域处理
4.枚举状态,业务状态码
5.VO与TO与PO划分
6.Lombok:@Data @Slf4j
@Slf4j
提供了简单的日志对象,使用log.error就可以用