认识微服务之初始SpringCloud

  • SpringCloud是目前国内使用最广泛的微服务框架。官网地址:https://spring.io/projects/spring-cloud
  • SpringCloud集成了各种微服务功能组件,并且基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验:
认识微服务之初始SpringCloud
  • SpringCloud与SpringBoot的版本兼容如下:
认识微服务之初始SpringCloud

服务拆分及远程调用

  • 服务拆分
  • 服务调用

服务拆分注意事项:
1.不同微服务,不要重复开发相同业务
2.微服务数据独立,不要访问其他微服务的数据库
3.微服务可以将自己的业务暴露为接口,供其他微服务调用

认识微服务之初始SpringCloud导入服务拆分Demo
1.导入工程:cloud-demo
2.项目结构

认识微服务之初始SpringCloud3.将cloud-order.sql和cloud-user.sql导入数据库中

认识微服务之初始SpringCloud启动cloud-demo,根据id查询

认识微服务之初始SpringCloud

微服务远程调用

案例:根据订单id查询订单功能
需求:根据订单id查询订单的同时,把订单所属的有用户信息一起返回

认识微服务之初始SpringCloud远程调用方式分析

认识微服务之初始SpringCloud微服务远程调用-查询订单
步骤:1).注册RestTemplate
在order-service的OrderApplication中注册RestTemplate

@RestController
@RequestMapping("order")
public class OrderController {

   @Autowired
   private OrderService orderService;

    @GetMapping("{orderId}")
    public Order queryOrderByUserId(@PathVariable("orderId") Long orderId) {
        // 根据id查询订单并返回
        return orderService.queryOrderById(orderId);
    }
}

修改order-service中的OrderService的queryOrderById方法

@Service
public class OrderService {

    @Autowired
    private OrderMapper orderMapper;
    @Autowired
    private RestTemplate restTemplate;

    public Order queryOrderById(Long orderId) {
        // 1.查询订单
        Order order = orderMapper.findById(orderId);
        //2.利用RestTemplate发起http请求,查询用户
        //2.1 url路径
        String url="http://localhost:8081/user/"+order.getUserId();
        User user = restTemplate.getForObject(url, User.class);
        order.setUser(user);
        // 4.返回
        return order;
    }
}

微服务调用方式
1.基于RestTemplate发起的http请求实现远程调用
2.http请求远程调用是与语言无关的调用,只要知道对方的ip、端口、接口路径、请求参数即可

提供者与消费者

  • 服务提供者:一次业务中被其他微服务调用的服务。(提供接口给其他微服务)
  • 服务消费者:一次业务中,调用其他微服务的服务。(调用其他微服务提供的接口)
认识微服务之初始SpringCloud

服务提供者:暴露接口给其他微服务调用
服务消费者:调用其他微服务提供的接口
提供者与消费者角色是相对的
一个服务可以同时是服务提供者和服务消费者

感谢参与

视频地址:https://www.bilibili.com/video/BV1LQ4y127n4?


原文始发于微信公众号(itmkyuan):认识微服务之初始SpringCloud

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/39369.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!