# MyMallLearn **Repository Path**: SYIsMe/my-mall-learn ## Basic Information - **Project Name**: MyMallLearn - **Description**: 谷粒商城学习项目(高级篇完成),商品上架到支付宝下单付款全部跑通~~~ - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-08-14 - **Last Updated**: 2024-12-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: 大型商城学习项目, 微服务, SpringCloud, RabbitMQ, Redis ## README # 谷粒商城 ## 前言 暑假因为学完了ssm,springboot,同时也接触了springcloud,就找了个练手的项目综合一下,**传说中的谷粒商城**,集群篇暂时先放弃了,毕竟我的16G轻薄本已经很坚强了(同时12个微服务模块+虚拟机.....) ## 项目介绍 谷粒商城是一个 B2C 模式的电商平台,采用前后端分离实现,后台管理系统基于vue实现,前台商城系统和后端采用SSM、Springboot 、SpringCloud、SpringCloudAlibaba、MyBatis-Plus、Thymeleaf等技术实现。使用docker容器化技术部署。 ## 项目架构图 ### 1、 项目微服务架构图 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0908/095749_6e7db965_9403445.png "image-20210828201432499.png") ### 2、 微服务划分图 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0908/095847_18366038_9403445.png "image-20210828201503699.png") ## 项目亮点 - 前后分离开发, 并开发基于 vue 的后台管理系统 - SpringCloud 全新的解决方案 - 应用监控、 限流、 网关、 熔断降级等分布式方案 全方位涉及 - 透彻讲解分布式事务、 分布式锁等分布式系统的难点 - 分析高并发场景的编码方式, 线程池, 异步编排等使用 - 压力测试与性能优化 - 各种集群技术的区别以及使用 - CI/CD 使用 - ....... ## 项目展示 ### 人人快速开发后台管理系统 ##### 新增属性 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0908/095932_9f40ad23_9403445.png "1629556942(1).png") ##### 发布商品 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0908/100056_b823fc94_9403445.png "1629559928(1).png") ##### 商品管理 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0908/100243_26eb8c49_9403445.png "1629559982(1).png") ### 商城页面 ##### 检索页 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0908/100323_770815e7_9403445.jpeg "E2900D3CEF124C479EE2775AFB138BEF.jpg") ##### 详情页 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0908/100354_2c6e8dcf_9403445.jpeg "E438558509B04323B7E9D2C5AC8A3E30.jpg") ##### 订单页 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0908/100419_a0d10603_9403445.jpeg "353F6521DDA343E0B30618CE07AA1039.jpg") ## 开发环境 #### 开发工具 | 环境 | 版本 | | ------------- | :-----------------------: | | idea | 2019.3 | | vscode | 1.52.1 | | centos | CentOS-8-x86_64-1905-dvd1 | | VMware | 15.5.0 | | Mysql | 5.7.2 | | Redis | 6.2.5 | | Navicat | 11.0.10 | | Nginx | 1.10 | | ElasticSearch | 7.4.2 | #### window修改host环境 ``` 192.168.1.106 mall.com 192.168.1.106 search.mall.com 192.168.1.106 item.mall.com 192.168.1.106 auth.mall.com 192.168.1.106 order.mall.com 192.168.1.106 cart.mall.com 192.168.1.106 member.mall.com 192.168.1.106 seckill.mall.com 端口号为Linux的ip地址 ``` #### Nginx的配置文件 **配置动静分离和反向代理** ``` server { listen 80; server_name mall.com *.mall.com j32e7vw0lg.52http.tech; # 负载均衡 #charset koi8-r; #access_log /var/log/nginx/log/host.access.log main; location /static/ { # 配置动静分离 root /usr/share/nginx/html; } location /payed/ { proxy_set_header Host order.mall.com; proxy_pass http://mall; } location / { proxy_set_header Host $host; proxy_pass http://mall; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } ```