【SpringCoud】

1,启动各个服务:

【SpringCoud】_第1张图片

2,访问以下地址:

http://localhost:5001/product/purchase/1/1/1000

浏览器输出:

【SpringCoud】_第2张图片

控制台输出:

【SpringCoud】_第3张图片

这里随机调用的端口号使用了轮询的方式

从服务治理中心拉去一份服务实例清单,然后通过某种负载均衡的算法选择具体的实例

【SpringCoud】_第4张图片

Product核心逻辑代码:

@RestController
@RequestMapping
("/product")
public class ProductController {

   
@Autowired
   
private RestTemplate restTemplate;

   
@GetMapping("/purchase/{userId}/{productId}/{amount}")
   
public ResultMessage purchaseProduct(@PathVariable("userId") Long userId,
                                        
@PathVariable("productId") Long productId,
                                        
@PathVariable("amount") Double amount){
       
System.out.println("扣减产品--");
       
//FUND代表fund微服务,调用fund中的服务
        String url="http://FUND/fund/account/balance/{userId}/{amount}";
       
//封装请求参数
        Map<String,Object> params=new HashMap<>();
        params.put
("userId",userId);
        params.put
("amount",amount);
        ResultMessage resultMessage =
restTemplate.postForObject(url, null, ResultMessage.class, params

你可能感兴趣的:(Java面试系列,微服务,java,spring,boot,spring,cloud)