苍穹外卖Day(1)

1.项目的整体结构

|--------|--------------|--------------------------------------------|
| 序号 | 名称 | 说明 |
| 1 | sky-take-out | maven父工程,统一管理依赖版本,聚合其他子模块 |
| 2 | sky-common | 子模块,存放公共类,例如:工具类、常量类、异常类等 |
| 3 | sky-pojo | 子模块,存放实体类、VO、DTO等 |
| 4 | sky-server | 子模块,后端服务,存放配置文件、Controller、Service、Mapper等 |

2.前后端联调

Controller:1.接收并封装参数 2.调用service方法查询数据库 3.封装结果并响应

Service:1.调用Mapper查询数据库 2.密码对比 3.返回结果

Mapper:1.select * from employee where username=?

3.Nginx反向代理

nginx 反向代理:将前端发送的动态请求由 nginx 转发到后端服务器

nginx 反向代理的好处:1.提高访问速度 2.进行负载均衡 3.保证后端服务安全

1.nginx 反向代理的配置方式:

java 复制代码
server{
	listen 80;
	server_name localhost;
	
	location /api/ {
            		proxy_pass   http://localhost:8080/admin/;  #反向代理
	}

}

2.nginx 负载均衡的配置方式:

java 复制代码
upstream webservers{
	server 192.168.100.128:8080;
	server 192.168.100.129:8080;
}

server{
	listen 80;
	server_name localhost;
	
	location /api/ {
            		proxy_pass   http://webservers/admin/;  #负载均衡
	}

}

nginx 负载均衡策略:

|------------|--------------------------------|
| 名称 | 说明 |
| 轮询 | 默认方式 |
| weight | 权重方式,默认为1,权重越高,被分配的客户端请求就越多 |
| ip_hash | 依据ip分配方式,这样每个访客可以固定访问一个后端服务 |
| least_conn | 依据最少连接方式,把请求优先分配给连接数少的后端服务 |
| url_hash | 依据url分配方式,这样相同的url会被分配到同一个后端服务 |
| fair | 依据响应时间方式,响应时间短的服务将会被优先分配 |

4.完善登录功能

5.常用注解

|-------------------|----------------------------------|
| 注解 | 说明 |
| @Api | 用在类上,例如Controller,表示对类的说明 |
| @ApiModel | 用在类上,例如entity、DTO、VO |
| @ApiModelProperty | 用在属性上,描述属性信息 |
| @ApiOperation | 用在方法上,例如Controller的方法,说明方法的用途、作用 |

相关推荐
超龄超能程序猿3 分钟前
提升文本转SQL(Text-to-SQL)精准度的实践指南
数据库·人工智能·sql
旷野说3 分钟前
为什么 MyBatis 原生二级缓存“难以修复”?
java·java-ee·mybatis
8***23556 分钟前
【wiki知识库】07.用户管理后端SpringBoot部分
java
阿蔹22 分钟前
JavaWeb-Selenium 配置以及Selenim classnotfound问题解决
java·软件测试·python·selenium·测试工具·自动化
曹牧28 分钟前
‌‌Oracle CASE WHEN‌
数据库·oracle
x***133932 分钟前
【Mysql】:如何恢复误删的数据?
数据库·mysql
Databend35 分钟前
Databend 11 月月报:多模态查询智能
数据库
m***119042 分钟前
Windows版Redis本地后台启动
数据库·windows·redis
梁bk1 小时前
Redis 内存回收
数据库·redis·缓存
小毅&Nora1 小时前
【后端】【C++】从裸指针到 C++20 协程:现代 C++ 内存与并发编程的双重革命
java·c++20