https://blog.csdn.net/chengqiuming/article/details/80713471
上面的連接講的很好!
我講下在項目應該怎麼去使用它
你那個項目需要調用其他服務加載pom文件添加如下
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐openfeign</artifactId>
</dependency>
啓動類添加如下註解
@EnableDiscoveryClient
@EnableFeignClients
上面2個註解的作用 就是配合一起用的,在需要調用其他服務的啓動類上面啓動這個!
在項目中創建一個client包
創建一個接口類和實現類
接口的具體操作如下
@FeignClient 註解的作用於指定從哪個服務中調用功能,注意裏面的名稱與被調用的服務名稱保存一致,不能有下劃線。
但是有幾個點要記錄下,比如BaseClienr接口創建後然後就是在你需要調用啥服務,你就直接把他的路徑(這個路徑包含接口類上面的那個RequestMapper)和方法名參賽全部
copy下來,要主要的一點是@PathVariable("labelid")一定要這麼寫不然就是找不到。
再就是怎麼在當前的控制層調用,遠程服務的接口
注入 client包下的接口
實現調用,這裏要講下,BaseClinet接口,需要寫一個@Component註解要不寫一個實現類,不然會有紅線,但是也不影響使用!
負載均衡:
spring 框架本身就做了:
比如你在自己的其中一個服務開啓三次,每開啓一個結束後修改端口再開啓一個,然後就是修改一個查詢語句,在裏面寫一條輸出語句內容隨便!只要可以區分第一個開啓的和第二個第三個開啓的區別就ok!