项目简介
本项目前端选用 Vue + ElementUI + Thymeleaf 技术栈,后端选用 Spring Boot + Spring Cloud + Spring Cloud Alibaba + MyBatis-Plus + MySQL + Redis + ElasticSearch + RabbitMQ + Docker + Nginx 等技术栈。
云商城目前已实现注册、登录、上架、检索、购物车、订单、支付、秒杀等功能。
项目结构
yun-mall
:父工程。负责依赖管理与版本控制mall-common
:公共服务。提供公共工具类、常量类、异常类与 TO/VO 类等mall-gateway
:网关服务。配置其他微服务的路由规则mall-auth-server
:认证服务。负责用户注册、登录与社交登录mall-cart
:购物车服务。负责将用户挑选好的 SKU 添加到购物车中mall-order
:订单服务。负责下订单、锁库存与第三方支付mall-product
:商品服务。核心服务,负责管理所有商品信息mall-search
:检索服务。负责在商城检索页提供商品检索功能mall-seckill
:秒杀服务。负责提供定时秒杀功能mall-third-party
:第三方服务。负责提供对象云存储与手机短信功能mall-ware
:仓储服务。被其他微服务远程调用,管理商品的库存信息mall-coupon
:优惠券服务。被其他微服务远程调用,查询会员的优惠券信息mall-member
:会员服务。被其他微服务远程调用,查询会员信息renren-fast
:人人开源后台管理系统renren-generator
:人人开源代码生成器
技术选型
本项目前端选用 Vue + ElementUI + Thymeleaf 技术栈,具体为:
- Vue:前端框架
- Element :基于 Vue 的桌面端组件库(提供了许多 Vue 组件)
- Axios:异步通信框架
- Thymeleaf :Spring 模板引擎
- Node.js:服务端 js
后端选用 Spring Boot + Spring Cloud + MyBatis-Plus + MySQL + Redis + ElasticSearch + RabbitMQ + Nginx + Docker技术栈。具体为:
- Spring Boot
- MyBatis-Plus:持久层框架
- Redis:缓存中间件
- ElasticSearch:全文搜索引擎中间件
- RabbitMQ:消息中间件
- Docker:应用容器引擎
- Nginx:反向代理服务器
- Redisson:分布式锁
- Spring Cloud
- Spring Cloud - Ribbon:负载均衡
- Spring Cloud - OpenFeign:声明式 HTTP 客户端(调用服务远程)
- Spring Cloud - Gateway:API 网关(webflux 编程模式)
- Spring Cloud - Sleuth:调用链监控
- Spring Cloud Alibaba
- Spring Cloud Alibaba - Nacos:注册中心(服务注册与发现)
- Spring Cloud Alibaba - Nacos:配置中心(动态配置管理)
- Spring Cloud Alibaba - Seata:分布式事务解决方案
- Spring Cloud Alibaba - Sentinel:服务容错(限流、降级、熔断)
- Spring Cloud Alibaba OSS 对象云存储
- Spring Cache:分布式缓存技术
- Spring Session:分布式 Session 技术
服务端口号
各个微服务的端口号:
mall-gateway
:88mall-coupon
:7000mall-member
:8000mall-order
:9000mall-product
:10000mall-ware
:11000mall-search
:12000mall-auth-server
:20000mall-seckill
:25000mall-third-party
:30000mall-cart
:50000renren-fast
:8080
第三方技术栈端口号:
- MySQL:3306
- Redis:6379
- ElasticSearch:9200
- Kibana:5601
- Nginx:80
- RabbitMQ:5672;管理台:15672
域名管理
1 | 192.168.56.102 yunmall.com |