# mall-cloud-alibaba

## 微服务学习教程

[Spring Cloud Alibaba 微服务教程](https://github.com/mtcarpenter/spring-cloud-learning)

## 前言
`mall-cloud-alibaba`通过 spring cloud alibaba 微服务体系对 mall 进行改造学习。  [原商城 mall 传送门](https://github.com/macrozheng/mall)

## 项目介绍

mall-cloud-alibaba 是一套基于开源商城 mall 改造的 spring cloud alibaba 体系微服务商城系统。采用了spring cloud alibaba 、 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch等核心技术。前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。

## 演示地址
前端代码地址:https://github.com/mtcarpenter/mall-admin-web

演示地址:http://148.70.69.18:8090 用户名:admin 密码:123456

## 技术栈

- 注册中心:Nacos
- 配置中心:Nacos
- 服务网关:Spring cloud Gateway
- 服务调用:Spring cloud open-Feign
- 负载均衡:Spring cloud loadbalancer
- 链路追踪:zipkin - sleuth
- 权限认证:Spring security 
- 熔断降级:Sentinel
- 消息队列:RabbitMQ 
- 项目部署:Docker

## 组织架构

```
mall-cloud-alibaba
├─mall-common    -- 工具类及通用代码
├─mall-mbg MBG   -- 代码生成器
├─mall-security  -- Spring Security 公共配置类
├─mall-gateway   -- 网关服务 ,端口 8080 
├─mall-boot-admin -- spring boot admin 监控,端口 8095
├─mall-admin-cms -- 内容管理模块服务,端口 8085
├─mall-admin-oms -- 订单管理模块服务,端口 8084      
├─mall-admin-pms -- 商品管理模块服务,端口 8083
├─mall-admin-sms -- 营销管理模块服务,端口 8082
├─mall-admin-ums -- 会员管理模块服务,端口 8081
├─mall-storage   --  文件存储服务,端口 8086
├─mall-portal-content   --  内容模块服务,端口 8073
├─mall-portal-coupon    --  营销模块服务,端口 8074
├─mall-portal-member    --  会员模块服务,端口 8070
├─mall-portal-order     --  会员模块服务,端口 8072
└─mall-portal-product   --  商品模块服务,端口 8071
```
## Dubbo 版本

### 下载源码

```bash
# 1、克隆 mall-cloud-alibaba 项目
git clone git@github.com:mtcarpenter/mall-cloud-alibaba.git
# 2、切换dubbo 分支
git checkout dubbo

```

## mall实现的功能概览

- 商品模块  
    - 商品管理
    - 商品分类管理
    - 商品类型管理
    - 品牌管理
- 订单模块
    - 订单管理
    - 订单设置
    - 退货申请处理
    - 退货原因设置
- 营销模块
    - 秒杀活动管理
    - 优惠价管理
    - 品牌推荐管理
    - 新品推荐管理
    - 人气推荐管理
    - 专题推荐管理
    - 首页广告管理
- 用户模块
    - 用户管理
    - 角色管理
    - 菜单管理

## 架构图

![ba176adb-a207-d216-a850-0a73ae053ebd.png](http://mtcarpenter.oss-cn-beijing.aliyuncs.com/logo/ba176adb-a207-d216-a850-0a73ae053ebd.png)

## 构建与运行

### 开发环境

| 工具          | 版本号 | 下载                                                         |
| ------------- | ------ | ------------------------------------------------------------ |
| JDK           | 1.8    | https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html |
| Mysql         | 5.7    | https://www.mysql.com/                                       |
| Redis         | 5.0    | https://redis.io/download                                    |
| Zipkin        | 2.12.9 | https://zipkin.io/ |
| Elasticsearch | 6.2.2  | https://www.elastic.co/downloads                             |
| MongoDb       | 4.2.5    | https://www.mongodb.com/download-center                      |
| RabbitMq      | 3.7.14 | http://www.rabbitmq.com/download.html                        |
| nginx         | 1.10   | http://nginx.org/en/download.html                            |


###  启动先后顺序

- 启动 `mall-admin-ums`模块
- 启动 `mall-admin-pms`模块
- 启动 `mall-admin-cms`模块
- 启动 `mall-admin-sms`模块
- 启动 `mall-admin-oms`模块
- 启动 `mall-storage`模块
- 启动 `mall-gateway`模块
- 启动 `mall-boot-admin`模块


## 许可证

[Apache License 2.0](https://github.com/mtcarpenter/mall-cloud-alibaba/blob/master/LICENSE)

Copyright (c) 2018-2020 macrozheng