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