天天看點

微服務架構之spring cloud ribbon

現在負載均衡是通用的解決分壓的技術方案,實作方式一般分為服務端或者用戶端,服務端大部分是使用中間件實作,spring cloud ribbon 是一個用戶端負載均衡元件。跟spring cloud eureka、spring cloud feign 搭配的很默契,下一篇我們再講解spring cloud feign。

(一) 版本說明

a) Spring boot 2.0.6.RELEASE

b) Spring cloud Finchley.SR2

c) Java version 1.8

d) Spring-cloud-starter-netflix-ribbon 2.0.2.RELEASE

(二) 項目配置

1. 服務端項目配置

a) 服務端主要是提供服務功能,這裡是把目前的端口傳回給調用者,同時把自己注冊到服務中心,調用者通過服務中心調用。

b) POM設定

c) application.yml配置檔案

d) 主要參數說明

i. eureka.instance.prefer-ip-address 使用IP顯示注冊資訊

ii. eureka.instance.ip-address 執行個體IP位址,

iii. eureka.instance.instance-id 自定義執行個體id,服務之間調用就是使用該配置,多個執行個體必須保證唯一性

iv. eureka.client.service-url.defaultZone 注冊中心位址

e) 服務提供者API

2. 消費端項目配置

a) POM設定

i. 這裡把服務消費端也注冊到了服務治理中心,消費者同時也是其它服務的提供者。

b) application.yml配置檔案

c) 服務消費者API

3. 重點提示

a) 為了示範負載,3個服務提供者必須設定3個不同的端口,并且其它相同,不然會被認為是不同的服務,起不到均衡的作用。

b) LoadBalanced 該注解實作了負載均衡功能,預設政策是輪詢

4. 項目運作

a) 運作服務提供者

i. 運作3個服務者執行個體後,會在服務中心看到如下效果,服務提供者已經注冊成功

微服務架構之spring cloud ribbon

b) 運作服務消費者

i. 運作消費者,如下圖所示

微服務架構之spring cloud ribbon

c) 打開PostMan,輸入消費者位址,多重新整理幾次,即可看到負載效果

微服務架構之spring cloud ribbon
微服務架構之spring cloud ribbon
微服務架構之spring cloud ribbon

  這樣spring cloud ribbon負載元件就介紹完了,如果在開發中遇到問題,也可以留言共同探讨共同進步。