2 项目介绍

2.1 技术栈介绍

2.2 项目结构

​ 此次项目并不打算从0-1的去研发,我们打算遵循企业开发模式,从1-2的方式进行研发,所以这里将直接导入已经搭建好的工程。

2.3 项目导入

项目导入后,结构如下:

​ 由于我们注册中心使用的是Nacos,数据库用的是MySQL,数据搜索Elasticsearch,所以当前开发环境配置的虚拟机已经直接安装好了这些软件,采用了docker的安装方式。

虚拟机:

 
IP:192.168.211.137
账号:root
密码:123456
 
MySQL:
	端口:3306
	账号:root
	密码:123456
 
Elasticsearch:
	TCP:9300
	Http:9200
 
Elastic-head:
	Http:9100
 
//..略
 

2.4 工程案例

由于秒杀系统回归了企业开发,采用了1-2的模式,我们例举一下增删改查在当前项目中的一个案例。

项目中相关服务地址采用了别名,需要将别名配置到C:\Windows\System32\drivers\etc\hosts文件中:

192.168.211.137 db-server
192.168.211.137 redis-server
192.168.211.137 zk-server
192.168.211.137 kafka-server
192.168.211.137 nacos-server
192.168.211.137 es-server
192.168.211.137 canal-server
192.168.211.137 seata-server

我们找一个项目中的案例,梳理和解读一下项目的访问流程,流程图如下:

在代码中,我们讲解一下用户查询所有品牌的案例:

请求路径:/api/brand

调用:

​ ①seckill-gateway

​ ②seckill-service/seckill-goods/BrandController.findAll()

代码图解: