当前位置: 首页 > news >正文

苍穹外卖项目结构

苍穹外卖项目总结-CSDN博客

【苍穹外卖|项目】万字总结-CSDN博客

苍穹外卖项目总结_苍芎外卖如何实现的跨域-CSDN博客

【苍穹外卖 | 项目日记】第九天 万字总结-CSDN博客

【苍穹外卖|项目】万字总结-CSDN博客

一、技术点:

Nginx代理

负载均衡:通过调度算法将客户端的请求分配到不同的服务器上

正向代理:通过代理服务器代理浏览器/客户端去重定向请求访问到目标服务器

反向代理(跨域):代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端

特性正向代理(Forward Proxy)反向代理(Reverse Proxy)
代理对象代理客户端(用户)访问外部服务器代理服务器(网站)接受客户端请求
适用场景访问被限制的网站、加速网络请求、隐藏用户 IP负载均衡、缓存静态资源、安全防护
请求流向客户端 → 正向代理 → 目标服务器客户端 → 反向代理 → 真实服务器
是否对外暴露用户需要配置代理才能使用用户无需感知,透明访问
示例VPN、Shadowsocks、SquidNginx、HAProxy、Cloudflare

MD5密码加密

特点:固定长度,不可逆

主要是对登录界面的密码加密

Swagger – 框架

3.1作用:接口文档的在线生成—doc.html

3.2集成:1.导入Knife4j依赖 2.加入配置,设置资源映射 3.使用注解在对应位置

3.3注解:

@Api(tags = “”)—用在类上

@ApiModel—类上

@ApiModelProperty–用在属性上

@ApiOperation(方法上)

JWT

4.1 概述:将原始JSON进行安全封装,由Header(令牌类型、签名算法等),载荷(携带信息),签名(防伪)组成

4.2 应用场景 :身份验证、授权、信息交换

过滤器Filter 

应用场景:防止未登录就进入界面 验证用户身份 缓存控制

拦截器Interceptor – IOC容器

6.1 概念:由Spring框架提供,动态拦截请求,本质是面向切面编程(AOP)的

6.2 应用场景:登录验证,权限验证,日志记录,性能监控……

AOP 切面

 概念:将横切关注点与业务逻辑分离,将其通用行为封装至横向模块,以达到对业务逻辑的增强。

应用场景:记录日志操作、权限管理、事务管理

微信小程序

Spring Cache

概念:基于注解的缓存功能,简化开发

应用场景:缓存数据,防止重复请求,实现分布式系统中的数据共享……

Spring Task – 任务调度工具

应用场景:定时推送,系统未支付订单

WebSocket

概念:基于TCP连接的全双工通信网络协议

应用场景:用于实时通信,实时双向传输数据 – 弹幕、网页聊天…

阿里云OSS

概念:云存储服务,存储文本、图片、视频

应用场景:上传文件

验证码

利用Hutool工具生成验证码,并保存验证码至数据库,方便验证

二、具体的业务流程

微信小程序登录--前端

后端

1.用户登录验证

注意:为了防止数据库泄露带来的用户账号密码安全性问题,我们即使是在数据库中也不会进行明文存储密码,而是存储MD5加密方法加密后的一串字符串。防止用户密码以明文的形式进行传递

2.TreadLocal线程存储

配合Spring拦截器进行token验证

ThreadLocal 允许在同一线程中存储数据,我们可以把从JWT中解析到的用户数据存入到线程当中,在业务层代码里需要获得用户数据的时候,即可从线程变量中获取。避免频繁解析 token,提高性能,并保证数据的线程安全性。

登录过后,每次访问携带token(一般有效期是1天),判断是否用户还在登录状态,可以继续访问。

解决HTTP无状态

  • 采用 JWT(JSON Web Token) 机制,将用户信息编码后存储在 token 中,并通过请求头(Authorization)传递给服务器。
  • 服务器在每次请求时 解析 token,提取用户信息,并将其与当前线程绑定,确保在整个请求链路中可用。

3.来单/催单 – web socket

相关文章:

  • Loadrunner报错Virtual User Generator 初始化用户生成器失败 初始化失败
  • AI产品的架构(分四层)
  • ArkUI —— 组件导航
  • zk基础—1.一致性原理和算法二
  • Android:Dialog的使用详解
  • K8S 存储:emptyDir、hostPath、local详解
  • 观察者模式在Java单体服务中的运用
  • 质检LIMS实验室系统在塑料制品的应用 LIMS系统重塑塑料制品质检
  • leetcode hot100 多维动态规划
  • hadoop集群的常用命令
  • 《Spring Boot全栈开发指南:从入门到生产实践》
  • JAVA反序列化深入学习(十一):Spring1
  • 【Pandas】pandas Series to_latex
  • 力扣hot100_贪心算法
  • 实现基于Vue的后台管理系统权限控制与动态路由
  • 【避坑指南】RAGFlow + Ollama + Deepseek 构建本地知识库
  • 逻辑损失以及梯度下降的实现
  • Docker学习--容器操作相关命令--docker logs 命令
  • 利用 SSRF 和 Redis 未授权访问进行内网渗透
  • Java 中数组转集合的方法
  • Ext做网站/深圳短视频推广
  • 做网站需要源码吗/风云榜小说排行榜
  • 电子工程建设信息网站/武汉刚刚发生的新闻
  • 网站常用的一种js幻灯片/网站设计专业的公司
  • 从事网站开发办理什么个体/网络推广费用一般多少
  • 那个网站做外贸最好/5g站长工具seo综合查询