1.分布式基础概念
1.1 微服务
单体架构是 所有业务 都由一个项目去完成。
有别于 单体 架构,微服务将服务被拆分成多个独立的小型服务,这些服务通过网络调用(如HTTP请求)相互通信,共同实现整个应用的功能。
分布式 则将这些服务部署在的不同节点上。
1.2 注册中心
注册中心为分布式系统提供服务发现功能,让这些服务可以相互发现,相互调用。
1.3 配置中心
服务读取配置中心的配置,不必修改本地配置文件,实现热部署。
1.4 远程调用&Feign
Feign 是一个声明式的 Web 服务客户端,能够通过注解和接口定义的方式,简化 HTTP 请求的过程。开发者不需要手动编写复杂的 HTTP 请求和响应处理代码,Feign 会"假装"成客户端接口的一部分,自动处理底层的请求和响应。
1.5 网关
网关实现路由转发,权限校验,限流控制。
微服务架构中,请求通常发送给网关,网关在注册中心中发现服务,转发到对应服务。
2.基础开发
2.1 SpringBoot2.0
2.2 SpringCloud
注册中心,配置中心,远程调用,网关
2.3 Mybatis-Plus
在 MyBatis 的基础上,提供了自动化的功能,如自动生成 CRUD 操作、分页查询、条件构造等
2.4 Vue组件化
2.5 阿里云对象存储
项目使用Alibaba Cloud OSS,存储和访问数据。
3. 环境
VMware、Linux、Docker、MySQL、Redis、逆向工程&人人开源
- VMware搭建Linux CentOS 系统
- 利用Docker 快速部署 MySQL、Redis
- 人人开源 依据数据库 快速生成CRUD代码
4.开发规范
- 数据校验JSR303、全局异常处理、全局统一返回、全局跨域处理
- 枚举状态、业务状态码、VO与TO与PO划分、逻辑删除
- Lombok;@Data @slf4