苍穹外卖项目demo开发day1 员工管理和分类管理开发

本篇为个人学习java的第一个项目搭建 从0开始学外卖项目 

从产品原型里得出技术选型

搭建前后端环境

弄了一个小时。。注意删掉浏览器缓存和关闭服务器进程 不要多开

创建git 本地仓库和远程仓库 跟着视频一步一步做完 搭建数据库

初始创建完毕 尝试登录

前端和后端连接 通过nginx进行请求和响应 nginx有反向代理的功能

这样做可以提升访问速度 (nginx可以有缓存 需要访问的对应地址存在缓存里 后端服务器可以直接从nginx缓存中读取地址而不是前端服务器直接对后端服务器进行重复性请求)

也可以进行负载均衡(负载均衡)把大量请求按照特定方式进行均衡分配给每个集群的每台服务器

nginx在此可以作为负载均衡器 前端的大量请求可以通过nginx的负载均衡来分发这些请求

同时也保护后端服务器 避免直接交互 只能通过nginx把请求转发给后端服务器

负载均衡的配置方式

前端请求通过nginx负载均衡平均的转到两个后端服务器上

nginx负载均衡策略

根据weight权重 权重越高被分配的客户端请求就越多

根据ip分配方式 每个访客可以固定访问一个后端服务

least_conn根据最少链接方式 把请求优先分配给连接数少的后端服务

url_hash 根据url分配方式 相同的URl会被分配到同一个后端服务

fair 根据响应时间方式 响应时间段的符文将会被优先分配

反向代理的实现

	upstream webservers{
	  server 127.0.0.1:8080 weight=90 ;
	  #server 127.0.0.1:8088 weight=10 ;
	}        
    # 反向代理,处理管理端发送的请求
    location /api/ {
		proxy_pass   http://localhost:8080/admin/;
        #proxy_pass   http://webservers/admin/;
    }

完善登录功能

员工表中的密码是明文存储 存在直接被泄露的风险 安全性差

可以通过加密来解决方法 这里使用MD5加密方式对明文密码加密 只能从明文到密文 不可反向

1.修改数据库里明文密码 改为MD5加密后的密文

2.修改java代码 前端提交的密码进行MD5加密后再跟数据库中密码比对

要把数据库中123456改为密文 提交修改事务

//对前端传来的密码进行MD5加密
password = DigestUtils.md5DigestAsHex(password.getBytes());

导入接口文档 用swagger生成文档

需求分析和设计

通过DTO封装数据 再用service层调用mapper并执行insert语句

通过前端和swapper分别注册一个员工

通过手写异常处理器处理已存在问题

解析出登录员工id后 如何传递给业务层的存储?客户端发出每次请求都在同一线程内

可以通过Threadlocal 具有线程隔离 只有在线程内才能获取对应值 在线程外不行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值