咕泡商城是咕泡学院 Java架构课程中,帮助学员对于技术更好落地的一个实战项目,项目基于springboot2.1.6.RELEASE+Dubbo2.7.3 来构建微服务。
业务模块划分,尽量贴合互联网公司的架构体系。所以,除了业务本身的复杂度不是很高之外,整体的架构基本和实际架构相差无几。
但实际上,真实的生产级的项目由于用户量以及业务的复杂度,会变得非常复杂。 所以我们会让更多的人参与进来,从需求、设计、解决方案等方面出发来对项目进行迭代,从而培养出一定的
实际解决方案的经验和能力。
项目采用前后端分离开发,前端需要独立部署。目前核心的技术栈采用的是SpringBoot2.1.5.RELEASE+Dubbo2.7.2,
后端的主要架构是基于springboot+dubbo+mybatis.
db_script 本项目的数据库脚本 | 使用mysql | 暂时未做分表处理,不过有考虑到分表的情况 |
---|---|---|
gpmall-cashier 收银台,负责支付相关的交互逻辑 | web项目 | 8083端口 |
gpmall-commons 公共的组件 | jar | 公共组件,很多地方都有引用,改动的时候要注意 |
gpmall-front 咕泡商城的前端项目 | 前端项目 | 使用vue、node、es等前端技术开发 |
gpmall-parent 父控文件,用来统一管理所有jar包 | 父控文件 | 用来统一管理所有项目的jar包的版本 |
gpmall-shopping 商品/购物车/首页渲染等交互 | web项目 | 8081端口 |
gpmall-user 提供用户相关的交互,如登录、注册、个人中心等 | web项目 | 8082端口 |
market-service 促销活动的Dubbo服务【暂时未联调完成,可以不启动】 | dubbo服务 | 20884端口 |
pay-service 提供支付处理能力 | dubbo服务 | 20883端口 |
shopping-service,提供购物车、推荐商品、商品等服务 | dubbo服务 | 20881端口 |
user-service ,提供用户相关服务 | dubbo服务 | 20880端口 |
order-service ,提供订单服务 | dubbo服务 | 20882端口 |
PRD | 存放prd需求文档,有想参与设计的同学,可以提供prd需求 | |
wiki | 帮助文档,需要每一位同学贡献自己的一份力量 |
非常欢迎您对Gpmall的开发作出贡献! 你可以选择以下方式向Gpmall贡献:
助理 (一个程序员竟然有助理,不可思议)
作者的个人博客
目录 一。应用系统基础服务安装 1.修改/etc/hosts配置文件 2.配置本地yum源 3.安装基础服务 (1)安装Java环境 (2)安装redis缓存服务 (3)安装elastic search服务 (4)安装nginx服务 (5)安装MariaDB数据库 (6)安装ZooKeeper服务 (7)安装Kafka服务 4.启动服务 (1)启动数据库并配置 (2)启动Redis服务 (3)
技巧 文件中的部分压缩包可以使用 tar -xvf tar -xzvf 先解压到本地查看。 可以构建一个 centos 镜像 test 容器做组件安装/配置文件修改测试,不要拿主机直接操作。 写 Dockerfile 文件的时候,可以 ADD 文件路径到 /opt 下,因为 opt 目录一般为空,不易搞混。 写 Dockerfile 文件的时候,有不确定的内容,多使用 shell 工具的克隆窗口功
1. ZooKeeper集群部署 1.1 案例目标 (1)了解ZooKeeper分布式应用程序协调服务。 (2)使用3台机器搭建ZooKeeper集群。 (3)使用ZooKeeper集群。 1.2案例分析 *1********.规划节点* ZooKeeper集群系统的节点规划,见表4-2-1。 表4-2-1节点规划 IP 主机名 节点 172.16.51.23 zookeeper1 集群节点 17
1. 规划节点 使用Mycat读写分离数据库作为应用系统的数据库后端,使用ZooKeeper集群,Kafka集群提供应用系统调度服务,使用Reids提供应用系统消息队列服务,节点规划见表4-9-1。 表4-9-1 节点规划 IP 主机名 节点 172.16.51.6 mycat Mycat中间件服务节点 172.16.51.18 db1 MariaDB数据库集群主节点 172.16.51.30 d
1.规划节点 IP 主机名 节点 10.24.2.156 master Kubernetes master 节点 10.24.2.157 node Kubernetes worker 节点 2.基础准备 Kubernetes 集群已部署完成,将提供的压缩包 GPMall.tar.gz 上传到master 节点/root 目录下并解压。 GPMall.tar.gz:https://download.
1.规划节点 | IP地址 |主机名 | 节点 | |–|–|–|–|–| |192.168.0.11|gpmall |云服务器 | |192.168.0.12|redis |云数据库redis | |192.168.0.13|mysql|云数据库MySQL| 2.基础准备 使用公有云服务器,要求centos7.5,云数据库MySQL5.6,Redis数据库为4.0,内存容量1GB. 3.案例实施
【题目1】容器化部署Redis 在master节点上编写/root/redis/Dockerfile文件构建chinaskill-redis:v1.1镜像,具体要求如下:(需要用到的软件包在/桌面/附件/容器云附件/gpmall-single.tar.gz) (1)基础镜像:centos:centos7.5.1804; (2)作者:Chinaskill; (3)修改配置文件中的bind 127.0
单节点部署 gpmall 商城系统(二) 四、启动服务 (1)启动数据库并配置 修改数据库配置文件并启动Mariadb数据库,设置root用户密码为123456,并创建gpmall数据库,将提供的gpmall.sql导入。 修改/etc/my.cnf文件,添加字段如下所示: [mysqld] init_connect='SET collation_connection = utf8_unicode
规划节点 表4-6-1 节点规划 IP 主机名 节点 172.16.51.23 zookeeper1 集群节点 172.16.51.32 zookeeper2 集群节点 172.16.51.41 zookeeper3 集群节点 1. 基础环境配置 (1)主机名配置 使用secureCRT对3台云主机进行连接。 3个节点修改主机名为zookeeper1、zookeeper2、zookeeper3,命