微服务框架
【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】
多级缓存
文章目录
- 微服务框架
- 多级缓存
- 46 JVM 进程缓存
- 46.2 导入商品案例【导入Demo工程】
- 46.2.1 导入商品管理案例demo工程
46 JVM 进程缓存
46.2 导入商品案例【导入Demo工程】
46.2.1 导入商品管理案例demo工程
就是它 了
先把它 拷贝到我们自己的工作目录
OK,使用IDEA 进行导入
直接OK
OK,导入完成
项目结构:
其中的业务包括:
- 分页查询商品
- 新增商品
- 修改商品
- 修改库存
- 删除商品
- 根据id查询商品
- 根据id查询库存
改一下配置,特别是数据库配置信息的IP 地址
OK
业务全部使用mybatis-plus来实现,如有需要请自行修改业务逻辑。
【分页查询商品】
在com.heima.item.web
包的ItemController
中可以看到接口定义:
【新增商品】
在com.heima.item.web
包的ItemController
中可以看到接口定义:
【修改商品】
在com.heima.item.web
包的ItemController
中可以看到接口定义:
【修改库存】
在com.heima.item.web
包的ItemController
中可以看到接口定义:
【删除商品】
在com.heima.item.web
包的ItemController
中可以看到接口定义:
这里是采用了逻辑删除,将商品状态修改为3
【根据id 查询商品】
在com.heima.item.web
包的ItemController
中可以看到接口定义:
这里只返回了商品信息,不包含库存
【根据id 查询库存】
在com.heima.item.web
包的ItemController
中可以看到接口定义:
【启动测试一下】
OK,启动成功
访问接口 http://localhost:8081/item/10001
OK,查下库存
OK,没问题
【导入商品查询页面】
商品查询是购物页面,与商品管理的页面是分离的。
部署方式如图:
我们需要准备一个反向代理的nginx服务器,如上图红框所示,将静态的商品页面放到nginx目录中。
页面需要的数据通过ajax向服务端(nginx业务集群)查询。
【运行Nginx 服务】
这里我已经给大家准备好了nginx反向代理服务器和静态资源。【牛逼!!!!!】
我们找到课前资料的nginx目录:
将其拷贝到一个非中文目录下,
运行这个nginx服务。
运行命令:
start nginx.exe
OK。访问一下
直接localhost 就是Nginx 的欢迎页面
再访问 http://localhost/item.html?id=10001
我超,妙啊,这静态页面写得真好
做反向代理配置
现在,页面是假数据展示的。我们需要向服务器发送ajax请求,查询商品数据。
打开控制台,可以看到页面有发起ajax查询数据:
而这个请求地址同样是80端口,所以被当前的nginx反向代理了。
查看nginx的conf目录下的nginx.conf文件:
打开它
其中的关键配置如下:
其中的192.168.150.101是黑马老师的虚拟机IP,也就是Nginx业务集群要部署的地方:
【改后】完整内容如下:
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
# Nginx的业务集群、Nginx本地缓存、redis缓存、Tomcat查询等
upstream nginx-cluster{
server 1.13.92.88:8081;
}
server {
listen 80;
server_name localhost;
location /api {
proxy_pass http://nginx-cluster;
}
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}