项目后台框架是使用的springboot ,前端使用的是angularJS,中间使用gateway做一层转发。其实也是微服务的思想。那么在gateway这层怎么实现负载均衡。就使用到了zuul,那么可以使用zuul 的Ribbon来实现负载均衡。
这个是我们项目原先做了一个配置。主要是zuul实现转发(未使用Ribbon,未使用Eureka),其中routes下面的 platform-service和image-detect-service是后台的两个独立的项目,他们的RestApi路径使用了不同的标识(这是我们自己定义的规范)。反正实现的效果就是,如果路径是api开头就转发到8010端口,如果是路径是/ids开头那么就转发到8011端口另外一个项目。重写了zuul中的pro前置过滤器能够实现。
接下来实现负载均衡 (接下来我们只对platform-service这个项目进行负载均衡)
首先我们将platform-service这个项目启用两个不同的端口发布起来
先在idea中dev.yml将server:port 修改为8012通过mvn clean compile install -DskipTests将项目编译,然后再target文件夹,将war包拷贝出来,在war包这个文件夹打开cmd命令行,执行 java -jar xxx.war发布 ,然后再在idea中奖port修改为8010,通过idea发布。这样platform-service就在8010和8012发布起来了。
修改配置: