谷粒商城基础篇完结

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、逆向工程&人人开源

  1. VMware搭建Linux CentOS 系统
  2. 利用Docker 快速部署 MySQL、Redis
  3. 人人开源 依据数据库 快速生成CRUD代码

4.开发规范

  • 数据校验JSR303、全局异常处理、全局统一返回、全局跨域处理
  • 枚举状态、业务状态码、VO与TO与PO划分、逻辑删除
  • Lombok;@Data @slf4
相关推荐
天河归来6 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
Knight_AL6 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
利威尔xu7 小时前
Go IM 源码实战(14):本地缓存快 3000 倍,失效却难 10 倍
后端·缓存·微服务·面试·golang
砚底藏山河7 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
利威尔xu8 小时前
Go IM 源码实战(13):30 个会话只有 2 个红点,未读数错在三条路径
redis·后端·微服务·面试·golang
猿究院_夏燊8 小时前
MySQL 的四种隔离级别
java·数据库·mysql
码流子9 小时前
移动收费怎么做?手持终端+App+收费中心的架构实践
java·开发语言·架构
霸道流氓气质9 小时前
AI 流式对话与实时聊天平台:SSE 解码竞态、有状态会话隔离与背压取消的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
云创智城-yuncitys9 小时前
YunParking 4.0:JDK 17 与 Spring Boot 3.2 的停车云升级
java·开发语言·spring boot
文丑颜不良啊9 小时前
LeetCode1661~1680题目解析
java·leetcode