Spring-Cloud Learning 4. Solicitud de microservicio para pasar

Uno: premisa

Hemos configurado fingir en el artículo anterior, esta vez configuramos el servicio del servidor para implementar el proceso de solicitud de getway-> api-> service

1.pom

<! - eureka 客户 端 -> 
        <dependency> 
            <groupId> org.springframework.cloud </groupId> 
            <artifactId> spring-cloud-starter-netflix-eureka-client </artifactId> 
        </dependency>

2. Configuración

Esta vez solo necesita configurar el cliente eureka

servidor: 
  puerto: 4001 
spring: 
  aplicación: 
    nombre: diente de león - 
    fuente de 
  datos del servicio : tipo: com.alibaba.druid.pool.DruidDataSource 
    driverClassName: com.mysql.cj.jdbc.Driver 
    druid: 
      url: jdbc: mysql: // localhost: 3306 / dandelion? UseUnicode = true & characterEncoding = utf8 & zeroDateTimeBehavior = convertToNull & useSSL = true & serverTimezone = GMT% 2B8 
      nombre de usuario: 
      contraseña de root : 123456 

mybatis - plus: 
  mapper -locations: classpath *: / mapper / ** / * Mapper.xml 
  type -aliaspaquete: club.dandelion.cloud.service.entity 

eureka: 
  cliente: 
    servicio - url: 
      defaultZone: http: // localhost: 1001 / eureka 
  instancia: 
    instancia - id: $ {spring.application.name}: $ {server.port } 
    prefiera -ip-address: la verdadera      ruta de #Access puede mostrar la dirección IP

3.contr

import club.dandelion.cloud.common.R; 
import club.dandelion.cloud.service. base .BaseController; 
import club.dandelion.cloud.service.entity.SysDept; 
importar club.dandelion.cloud.service.service.ISysDeptService; 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 
Importar lombok. extern .slf4j.Slf4j; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.beans.factory.annotation.Value; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RestController; 

import java.util.List; 

/ * * 
 * 部门 提供 者
 * 
 * @author zmr
 * @date 2019-05-20 
 * / 
@RestController 
@RequestMapping ( " dept " ) 
@ Slf4j 
public  class SysDeptController extiende BaseController { 
    @Autowired 
    private ISysDeptService sysDeptService; 

    @Value ( " $ {server.port} " )
     puerto de cadena privado ; 

    / * * 
     * 查询 部门 列表
     * / 
    @RequestMapping ( " lista " )
     lista R pública (SysDept sysDept) { 

        log.info ( " 端口 :" + puerto);

        Página <SysDept> página = nueva Página <> (sysDept.getPageNum (), sysDept.getPageSize ()); 
        List <SysDept> list = sysDeptService.selectDeptList (página, sysDept); 
        page.setRecords (lista); 
        volver R.ok (puerto); 
    } 


}

 

 

4. Inicie varias instancias

Idea puede iniciar múltiples instancias, operaciones específicas Baidu.

Comenzamos el proyecto anterior

 

 1001: Centro de registro

2001: puerta de enlace getwang

3001: fingir

4001/4002: clase de implementación de servicio, exactamente el mismo proyecto, pero diferentes puertos

5. Ejemplos

Fingir encuestas de forma predeterminada, y puede configurar un peso de servicio por separado.

 

 

 

 6. Configure la estrategia de equilibrio de carga

servidor: 
puerto: 3001
spring:
aplicación:
nombre: dandelion-api

eureka:
cliente:
service-url:
defaultZone: http: // localhost: 1001 / eureka
instancia:
instancia-id: $ {spring.application.name}: $ { server.port)
prefer-ip-address: true feign

:
#Enable feign fuse support
hystrix:
enabled: true #service

name
dandelion-service:
ribbon:
# load mode
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

Hay muchas estrategias específicas, consulte la documentación oficial o Baidu

 

Supongo que te gusta

Origin www.cnblogs.com/bchange/p/12711409.html
Recomendado
Clasificación