Aprendizaje simple de springCloud

  1. Introducción al negocio: módulo de usuario, módulo de pedido, módulo de inventario,
  2. El proceso es el siguiente: 

      Pago del usuario, necesita aumentar los puntos de compra para los usuarios,

      Pedido del cliente requerido

      Necesidad de reducir inventario

   Es decir, después de recibir la información de retroalimentación, el módulo de usuario realiza las operaciones correspondientes por sí mismo y necesita notificar a los módulos de pedido e inventario para realizar las operaciones correspondientes.      

    3. Uso del centro de registro de Eureka Microservices

      Con el centro de registro y sabiendo en qué puerto se encuentra cada servicio en esa máquina, necesitamos una herramienta que pueda enviar solicitudes a otros servicios para nosotros en lugar de escribir código para enviar solicitudes http nosotros mismos. Este es Fingir.

/ **** 
* @ Descripción: 订单 实体 类
* / 
@Data 
@NoArgsConstructor 
public class Order { 
    private String userId; 
    recuento de enteros privados; 
    descripción de cadenas privadas; 
} 
** 
 * @Description: 订单 服务
 * @Author: wb 
 * / 
@RestController 
@RequestMapping ("orderService") 
clase pública OrderService { 
    @Value ("$ {server.port}") 
    puerto de cadena privado; 
    @RequestMapping (valor = "unificadoOrder", método = RequestMethod.POST) 
    orden pública unificadoOrder (@RequestBody Orden de pedido) { 
        order.setDescrpition ("éxito! Este es orderService, mi puerto es" + puerto); 
        orden de devolución; 
    } 
} 
/ ** 
 * @Descripción: 库存 服务 
 * @Author: wb 
 * / 
@RestController 
@RequestMapping ("stockService") 
clase pública StockService { 
    @Value ("$ {server.port}") 
    Puerto de cadena privado; 
    @RequestMapping (value = "reduceStock", method = RequestMethod.GET) 
    public String reduceStock (@RequestParam Integer count) { 
        return "este es stockService, mi puerto es" + port + ", count es" + count; 
    } 
} 

创建 FeognClient 客户 端 调用 接口
@Component 
@FeignClient (name = "service-client-stock") 
interfaz pública OrderAndStockFeignClient { 
    @RequestMapping (value = "stockService / reduceStock", method = RequestMethod.GET) 
    String invokeStock (@RequestParam (value = "count " 
} 

/ ** 
 * @Descripción: 用户 服务
 * @Author: wb 
 * / 
@RestController 
@RequestMapping ("userService") 
clase pública UserService { 
    @Autowired 
    private OrderAndStockFeignClient orderAndStockFeignClient; 
    @RequestMapping (value = "pay", method = RequestMethod.GET) 
    public String unifiedOrder (número entero) { 
        String invokeStock = orderAndStockFeignClient.invokeStock (count); 
        devolución invokeStock; 
    } 
}

  Equilibrio de carga el uso de la cinta.

La siguiente pregunta viene, si el servidor de la biblioteca se implementa en cinco máquinas, el mecanismo de sondeo se utilizará en este momento. El algoritmo predeterminado es el algoritmo de sondeo de cinta redonda, que es el mismo sondeo de máquina de aplicación una vez, no aleatorio El fenómeno, el principio de la cinta es:

 

 

Enlace original: https://blog.csdn.net/zajiayouzai/java/article/details/80612729

    

 

 

Supongo que te gusta

Origin www.cnblogs.com/dousil/p/12692920.html
Recomendado
Clasificación