现在我们有了服务提供者+网关,这里我们简单实现下均衡负载。就是在不同的端口启动同一个项目。我们现在8000端口启动一个:
server:
port: 8000
spring:
application:
name: test-producer
cloud:
consul:
host: localhost
port: 8500
discovery:
serviceName: ${spring.application.name} # 注册到consul的服务名称
在服务中心看到启动成功:
我们访问下 test1路径:
看到显示的我们的hello,world。
我们再修改个端口:
server:
port: 8001
spring:
application:
name: test-producer
cloud:
consul:
host: localhost
port: 8500
discovery:
serviceName: ${spring.application.name} # 注册到consul的服务名称
把 hello,world改成hello,world2,然后再启动:
那是怎么实现均衡负载呢?在网关(https://blog.csdn.net/qq_21454973/article/details/89022146)里配置:
zuul:
routes:
test:
path: /test/**
serviceId: test-producer
启动网关,访问http://localhost:8010/test/test1:
刷新下页面:
变成2了
反复访问 http://localhost:8010/test/test1,结果交替返回服务8000和8001,因为默认的负载均衡器是采用轮询的方式。
可以看下服务中心:
点进去:
这里是在网关里通过映射URL的方式调用的,之前有篇文章是Feign方式调用的,也可以尝试下。
实际上就是在服务中心里找名字是test-producer的节点然后轮询。也可以有其他的调用方式,配置百度一下即可。
这样当一个节点挂掉以后还可以调用第二个节点。
告辞!