一个书籍电商平台,没有传统电商SPU SKU模型,没有什么高大上的技术也没有复杂的业务逻辑,主要是日常工作总结习惯了Dubbo xml配置 想自己从零开始搭建一个Dubbo微服务,以后需要的时候可以直接去掉业务开箱即用。
- 使用
Spring Boot
构建整个项目 去除 XML 配置 - 数据库使用
MySQL
和Redis
- 采用
Dubbo
作为RPC框架 - 使用
dubbo-spring-boot-starter
注解驱动 - 使用
mybatis-plus
单独作为dao层 - 数据库连接池使用
druid
- 开始使用JDK8特性 lambda Stream Optional
- 前后端完全分离
- 消息中间件采用
RocketMQ
(待续) Docker
容器化多应用部署(待续)
xbook-mall -- 父项目,依赖管理
│ ├─xbook-mall-api -- 接口模块
│ │ ├─xbook-mall-cart-api -- 购物车服务接口
│ │ ├─xbook-mall-order-api -- 订单服务接口
│ │ ├─xbook-mall-product-api -- 产品服务接口
│ │ ├─xbook-mall-redis-api -- Redis服务接口
│ │ ├─xbook-mall-user-api -- 用户服务接口
│ │ ├─xbook-mall-payment-api -- 支付服务接口(待续)
│ │─xbook-mall-common -- 通用工具,公共依赖
│ ├─xbook-mall-dao -- mybatis mapper以及代码生成器
│ ├─xbook-mall-entity -- 数据模型
│ ├─xbook-mall-service-cart -- 购物车Dubbo服务
│ ├─xbook-mall-service-order -- 订单Dubbo服务
│ ├─xbook-mall-service-product -- 产品Dubbo服务
│ ├─xbook-mall-service-redis -- Redis Dubbo服务
│ ├─xbook-mall-service-user -- 用户Dubbo服务
│ ├─xbook-mall-service-payment -- 支付Dubbo服务(待续)
│ ├─xbook-mall-web -- API接口服务
服务名称 | Dubbo服务端口 | Rest服务端口 | 完成情况 |
---|---|---|---|
xbook-mall-service-cart | 127.0.0.1:20884 | - | OK |
xbook-mall-service-order | 127.0.0.1:20885 | - | OK |
xbook-mall-service-product | 127.0.0.1:20883 | - | OK |
xbook-mall-service-redis | 127.0.0.1:20881 | - | OK |
xbook-mall-service-user | 127.0.0.1:20882 | - | OK |
xbook-mall-service-payment | - | - | TODO |
xbook-mall-web | - | 127.0.0.1:8090 | OK |
git clone [email protected]:AnthonyZero/xbook-mall.git
- 创建数据库xbook,执行SQL脚本
- 本地启动redis zookeeper
- 根据自己环境修改application-dev.yml中数据源和redis配置,启动Dubbo服务
- 移步到xbook-mall-web, 启动前端项目