日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

feign调用多个服务_Spring Cloud 快速入门系列之feign–微服务之间的调用

發(fā)布時間:2023/12/9 javascript 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 feign调用多个服务_Spring Cloud 快速入门系列之feign–微服务之间的调用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我們將一個大的應用拆成多個小的服務之后,緊接著的一個問題就是,原本都在一個項目里,方法我可以隨便調(diào)用,但是拆開后,原來的方法就沒法直接調(diào)用了,這時候要怎么辦?

Spring Cloud提供了feign,能夠輕松解決這個問題,feign能讓我們調(diào)用遠程服務方法就像調(diào)用本地方法一樣,調(diào)用者完全感覺不到實在調(diào)用遠程服務。

其底層其實就是使用了RPC,對網(wǎng)絡的請求和響應做了解析,在這里對RPC先不做講解,我們重點來了解如何使用feign來調(diào)用其他微服務。

feign這個功能是不是聽起來很神奇,但是用起來確實很簡單,我們一起來看看。

實操O(∩_∩)O

1、首先復制一個service-a的項目,我們起名叫service-b

2、在service-b的pom.xml文件中,添加feign的依賴

org.springframework.cloud

spring-cloud-starter-openfeign

3、在應用主類添加@EnableFeignClients,開啟feign支持

package com.itzhimei.serviceb;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

import org.springframework.cloud.openfeign.EnableFeignClients;

@EnableFeignClients

@EnableDiscoveryClient

@SpringBootApplication

public class ServiceBApplication {

public static void main(String[] args) {

SpringApplication.run(ServiceBApplication.class, args);

}

}

4、在service-b中添加一個抽象接口ServiceA

package com.itzhimei.serviceb.feign;

import org.springframework.cloud.openfeign.FeignClient;

import org.springframework.web.bind.annotation.GetMapping;

@FeignClient("service-a")

public interface ServiceA {

@GetMapping(value = "/getInfo")

public String getInfo();

}

這個接口的作用就是,讓serviceb調(diào)用servicea的方法就像調(diào)用本地方法一樣。class上的注解@FeignClient(“service-a”),就表示通過serviceA的serviceId,找到serviceA服務,通過@GetMapping(value = “/getInfo”)來對應到serviceA中的方法。

5、最后就是調(diào)用ServiceA了,寫一個調(diào)用的Controller

package com.itzhimei.serviceb.controller;

import com.itzhimei.serviceb.feign.ServiceA;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.RestController;

@RestController

public class ServiceBController {

@Autowired

ServiceA serviceA;

@RequestMapping(value="helloFeign", method = RequestMethod.GET)

public String helloFeign() {

return serviceA.getInfo();

}

}

輸出結果:名字是:張三,年齡是:20

到這里,微服務的相互調(diào)用就成功了,是不是超級簡單,通過幾步配置,就完成了原來復雜的網(wǎng)絡之間的調(diào)用。

總結

以上是生活随笔為你收集整理的feign调用多个服务_Spring Cloud 快速入门系列之feign–微服务之间的调用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。