首页 > 其他分享 >SpringCloud微服务架构

SpringCloud微服务架构

时间:2022-09-24 22:12:47浏览次数:56  
标签:服务 restTemplate SpringCloud class RestTemplate public 架构 order

认识微服务

  • 单体架构
    将业务的所有功能集中在一个项目中开发,打成一个包部署。
    优点:
    1.架构简单
    2.部署成本低
    缺点:
    1. 耦合度高
  • 分布式架构
    根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务。
    优点:
    1.降低耦合。
    2.有利于服务升级拓展。
  • 微服务
  • 微服务结构
    微服务这种方案需要技术框架来落地,目前最知名的就是SpringCloud和阿里巴巴的Dubbo。


    服务拆分及远程调用
    案例:根据订单id查询订单功能


    步骤:
    1)注册RestTemplate
    在order-Service的OrderApplication中注册RestTemplate
@MapperScan("cn.itcast.order.mapper")
@SpringBootApplication
public class OrderApplication {

    public static void main(String[] args) {
        SpringApplication.run(OrderApplication.class, args);
    }

    /**
     * 创建RestTemplate对象并注入Spring容器
     * @return
     */
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
}

2)服务远程调用RestTemplate
修改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请求,查询用户
        String url = "http://userservice:8081/user/" + order.getUserId();
        User user = restTemplate.getForObject(url, User.class);
        order.setUser(user);
        // 4.返回
        return order;
    }
}

  • 提供者与消费者
  • Eureka注册中心


    eureka主要提供如上的功能。
  • Ribbon负载均衡


    Ribbon的一些配置
  • Nacos注册中心

    Nacos注册中心细节分析


    Nacos与eureka的区别如上

标签:服务,restTemplate,SpringCloud,class,RestTemplate,public,架构,order
From: https://www.cnblogs.com/PrinceZaZa/p/16726792.html

相关文章