11.基于ribbon实现负载均衡

2020-05-26  本文已影响0人  LANSHENGYANG

基于Ribbon实现负载均衡

@Bean
@LoadBalanced
public RestTemplate restTemplate() {
    return new RestTemp1ate();
}
@RequestMapping("/order/prod/{pid}")
public Order order(@PathVariable("pid") Integer pid) {
    log.info("接收到{}号商品的下单请求,接下来调用商品微服务查询此商品信息", pid);

    Product product = restTemplate.getForObject("http://service-product/product/" + pid, Product.class);
    log.info("查询到{}号商品的信息,内容是:{}", pid, JSON.toJSONString(product));

    //下单(创建订单)
    Order order = new Order();
    order.setUid(1);
    order.setUsername("测试用户");
    order.setPid(pid);
    order.setPname(product.getPname());
    order.setPprice(product.getPprice());
    order.setNumber(1);

    orderService.createOrder(order);
    log.info("创建订单成功,订单信息为{}", JSON.toJSONString(order));
    return order;
}
Ribbon支持的负载均衡策略
service-product: #调用的提供者的名称
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
上一篇下一篇

猜你喜欢

热点阅读