現在我們有了服務提供者+網關,這裏我們簡單實現下均衡負載。就是在不同的端口啓動同一個項目。我們現在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的節點然後輪詢。也可以有其他的調用方式,配置百度一下即可。
這樣當一個節點掛掉以後還可以調用第二個節點。
告辭!