Servicios de llamada entre microservicios de Spring Cloud: los microservicios de Spring Cloud usan Feign para llamar a otro servicio y el uso de Feign

Introducción a Fingir

Hay muchas instancias de servicio de la arquitectura de microservicio.Cómo llamar entre servicios y servicios, Spring Cloud proporciona una solución: Fingir el pretendiente.

Feign es un componente de Spring Cloud y un cliente WebService, que se utiliza para la transferencia entre servicios.
Para obtener más información sobre Feign, consulte: https://blog.csdn.net/wo18237095579/article/details/83343915

Crea dos servicios

Cree dos proyectos y dos servicios, configure el registro y luego inicie los dos servicios, puede ver dos nombres de servicio en el registro que configuró: mis dos servicios, Daily-server y Task-Server. como sigue:
Inserte la descripción de la imagen aquí

Métodos de llamada entre microservicios de Feign

Estoy aquí para llamar al servidor de tareas a través del servidor diario. Primero, configure el servidor diario. Los detalles son los siguientes:

  1. Agregar dependencia

1.1: Agregue la dependencia de Feign

		<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
            <scope>provided</scope>
        </dependency>

1.2 Aquí, si el proyecto de arranque de primavera integra la nube de primavera, es decir, cuando hay una dependencia de arranque de primavera en su proyecto, debe agregar la dependencia de la nube de primavera como:

			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Hoxton.SR1</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

1.3 Cuando crea directamente un proyecto de nube de primavera, no necesita los pasos en 1.2 anteriores y agrega directamente las dependencias de nube de primavera:


		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-hystrix</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-feign</artifactId>
		</dependency>
  1. Agregar anotaciones a la clase de inicio del servicio
@EnableFeignClients

De la siguiente manera: Inserte la descripción de la imagen aquí
3. Cree una interfaz para hacer referencia a la interfaz TaskServer

package ...app.feign;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;

@FeignClient("task-server")
public interface TaskServerFeign {
    
    
    @GetMapping("/task/test")
    String getTest();
}

Aquí @FeignClient ("servidor de tareas") donde servidor de tareas es el nombre de su otro servicio
@GetMapping ("/ tarea / prueba") La dirección de la interfaz en otro servicio
String getTest (); La interfaz de otro nombre de servicio .

4. Cree una interfaz de prueba y llame a la interfaz de otro servicio.

import 。。。.feign.TaskServerFeign;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@Api(tags = {
    
    "Feign测试"})
public class FeignTest {
    
    
    @Autowired
    private TaskServerFeign taskServerFeign;

    @GetMapping("/task/test1")
    public void getTest() {
    
    
        String test = taskServerFeign.getTest();
        System.out.println(test);
        System.out.println("----------this is daily_Server_test");
    }
}

@Api (tags = {"Fingir prueba"}) Esta anotación solo se usa localmente para pruebas de arrogancia. También puede usar otros métodos para llamar a esta interfaz para realizar pruebas, como cartero

@Autowired
private TaskServerFeign taskServerFeign; Inyecta la interfaz que llama al servidor de tareas en el tercer paso.

5. Cree la interfaz llamada en el servidor de tareas.

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

@RestController
public class FeignTest {
    
    
    @GetMapping("/task/test")
    public String getTest() {
    
    
        System.out.println("----------this is task_Server_test");
        return "this is task_Server_test";
    }
}

El siguiente paso es ejecutar y probar. La prueba local es la siguiente:
aquí está la herramienta de prueba para probar,
Inserte la descripción de la imagen aquí
aquí está el servidor diario,
Inserte la descripción de la imagen aquí
este es el servidor de tareas.
Inserte la descripción de la imagen aquí
El resultado es obvio, y el novato Xiaobai agradece sus comentarios en cualquier momento. 0. 0

Supongo que te gusta

Origin blog.csdn.net/Mou_O/article/details/104650209
Recomendado
Clasificación