项目不是spring cloud,但是支持集群部署。是如何做到的呢? 答:只要将公共的部分抽取出来即可 1. 我们的登陆信息是使用token,而token是保存在redis中的,也就是说只要redis是用一台或同一个集群下,登陆之后用户的认证和授权是不会乱的 2. 我们的缓存用的是redis,没有使用本地缓存,所以要求redis是用一台或同一个集群 3. 我们的商品图片、资源图片之类的用的是七牛云或oss等cdn服务,无需担心集群的问题 4. 剩下的,只要是同一个数据库,持久化的数据公共即可 当所有的公共数据都已经抽取出来,接下来只要解决负债均衡的问题即可,以下介绍两种方法: 1. 可以使用[阿里云的负载均衡服务](https://help.aliyun.com/product/27537.html) 2. 使用nginx进行负债均衡 ### 使用nginx进行负债均衡 阿里云的负债均衡由阿里云负责,所以我们讲下nginx进行负债均衡。 在《nginx安装与跨域配置.md》这篇文章中已经写好了nginx的安装与配置,在这个配置中我们留意到网络请求都是直接转发到jar端口的 `proxy_pass http://127.0.0.1:8112;` 如: ``` http { server { listen 443; server_name b2b2c-api.mall4j.com; location / { proxy_pass http://127.0.0.1:8112; # 省略..... } } } ``` 想要进行负债均衡,必须将代理的端口指向负债均衡的配置,如下: ``` http { # 负债均衡设置 upstream b2b2c_api { # 第一个jar 启动ip和端口 server 127.0.0.1:8112; # 第二个jar 启动ip和端口 server 192.168.1.120:8112; } server { listen 443; server_name b2b2c-api.mall4j.com; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { # 代理到负债均衡服务 proxy_pass http://b2b2c_api; // 省略..... } } } ``` nginx的负债均衡就是如此简单