## 1. 中间件安装

本项目是一个分布式的项目，依赖较多的中间件，所以要先将中间件搭建起来才能够启动后台项目。

中间件安装参考`./中间件docker-compse一键安装/README.md` 这篇文章

如果不需要一键安装的，可以看`./中间件安装` 安装对应的缺失的中间件

## 2. 导入项目

### 2.1 安装jdk + maven + git

使用git下载项目，账号需要问项目的采购人员。

```bash
git clone http://git.gz-yami.com/yuansheng/mall4cloud.git
```

使用idea，点击open，打开下载好的目录

![open](../img/开发环境搭建/open.png)


使用`ctrl + shift + r` 全局替换掉 `192.168.193.128` 为中间件服务器ip

## 3. 设置idea内存

在idea启动所有的项目，是很吃力的事情。所以要修改下idea的配置，让其能有足够的内存启动项目

### 3.1 减小jar启动占用内存

编辑虚拟机配置，将每个服务的内存改为512M，`-Xms512m -Xms512m -Xss256k`,如果机器实在内存不够，可以将512适当减少，但是减少到一定程度，如256m会造成java虚拟机频繁的垃圾回收，会更加卡，所以推荐512m。

![idea编辑](../img/开发环境搭建/idea编辑.jpg)

![内存设置](../img/开发环境搭建/内存设置.png)

### 3.2 增加idea可使用内存

编辑idea配置，增加内存，至少变为2G，根据需要，可以适当增大，以提高流畅度。

```vmoptions
-Xms512m
-Xmx2048m
-XX:ReservedCodeCacheSize=512m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=100
```

![edit vm](../img/开发环境搭建/edit vm.png)

![idea配置](../img/开发环境搭建/idea配置.png)

配置完毕，重启idea，此时可以启动所有项目。

## 4. 启动项目

![启动项目](../img/开发环境搭建/项目.png)

框框中的是必须启动的项目，其他是按需启动，推荐全部都启动起来，需要一台16G内存以上的电脑


## 负债均衡到本地

在我们公司使用的开发环境当中，有一台机器启动所有的服务，其他的机器按照开发需要去启动服务。这就会产生负载均衡的问题，导致无法断点找bug。

这个时候，可以在配置中心nacos的`application.yml`加多个dubbo本地的负载均衡配置`dubbo.consumer.loadbalance=dev`，负债均衡变为优先访问与`gatway`相同网卡的机器上了。

此时还是一台机器启动所有服务，其他的机器按照开发需要去启动服务+网关服务。

前端访问对应的网关服务即可进入断点（对于rocketmq的消息回调来说，还是会负载均衡，此时若是断点，最好只留一台机器）
