Spring Cloud及其五大组件详解(个人理解,错误请包涵)

本文探讨了Spring Cloud和Dubbo的主要区别,包括远程调用方式、注册中心的选择以及微服务架构的不同。Spring Cloud提供了一个完整的微服务生态系统,而Dubbo则侧重于服务治理。此外,解释了Spring Boot和Spring Cloud的关系,以及Eureka作为服务注册中心的特性,强调了其在高可用性方面的设计。最后,讨论了微服务间的通讯方式,包括RPC和消息中间件的优缺点。
摘要由CSDN通过智能技术生成

一、SpringCloud和Dubbo的区别
1. SpringCloud和Dubbo主要区别
  SpringCloud和Dubbo都是现在主流的微服务架构。
  SpringCloud是apache旗下的Spring体系下的微服务解决方案,Dubbo是用于治理阿里系的分布式服务框架。
讲道理,我跟喜欢Spring Cloud,Dubbo只治理自身,对于其他服务只能借助于第三方,没有一个完整健康的生态,而Spring  Cloud除了自己还有其21个子项目,以后会更多,谁让人家的Spring家族呢!
  在技术选型的时候,由于远程调用方式以及注册中心等原因,我们二者只能选其一。
  服务远程调用方式:Dubbo使用RPC远程调用,SpringCloud使用RestAPI,后者更符合微服务官方定义
  补充:远程调用的方式有2中:RPC和HTTP,Spring为开发者提供了RestTemplapte模板工具类,对http客户端进行了封装,并实现了对象与json的序列化和反序列化。
  注册中心:Dubbo使用第三方的zookeeper作为其底层的注册中心,SpringCloud使用自己的Netflix Eureka实现注册中心,也可以使用zookeeper
  服务网关等其他服务,Dubbo都需要借助于第三方,虽然它可以对Spring进行无缝连接,但不是亲儿子啊!而SpringCloud有Zuul路由网关,进行请求的分发,支持断路器,与git完美集成分布式配置文件版本控制,事务总线实现配置文件的更新与服务自动装配等一系列的微服务框架要素(近似于:微服务==SpringCloud)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Cloud 是一个基于 Spring Boot 的开发工具集,它为构建分布式系统提供了一系列的解决方案。在 Spring Cloud 中,有五个核心组件,它们分别是: 1. 服务注册与发现(Eureka):Eureka 提供了服务注册与发现的功能,允许微服务在注册中心注册自己的信息,并通过查询来发现其他服务的位置。服务提供者在启动时将自己的信息注册到 Eureka 服务器,服务消费者可以从 Eureka 服务器上获取到可用的服务列表。 2. 客户端负载均衡(Ribbon):Ribbon 是一个客户端负载均衡器,它可以在多个服务提供者之间进行负载均衡,实现求的分发。Ribbon 提供了多种负载均衡策略,如轮询、随机等,并且可以根据具体的业务需求进行自定义。 3. 服务调用(Feign):Feign 是一个声明式的 HTTP 客户端,它简化了微服务之间的调用。通过使用注解,开发者可以定义接口和方法,并通过 Feign 自动生成具体的实现,从而实现服务之间的调用。Feign 还集成了 Ribbon,可以实现负载均衡的功能。 4. 熔断器(Hystrix):Hystrix 是一个容错和熔断器组件,它可以防止分布式系统中的故障扩散,提高系统的稳定性和容错能力。Hystrix 可以监控微服务之间的调用情况,并在出现故障时进行熔断,从而避免故障的传播。 5. 网关(Zuul):Zuul 是一个微服务网关,它可以实现求的路由、过滤和负载均衡等功能。通过配置不同的路由规则,Zuul 可以将求转发给对应的微服务,实现求的统一入口和出口。同时,Zuul 还支持自定义的过滤器,可以在求被路由前后进行一些额外的处理。 这五个组件Spring Cloud 构建微服务架构的关键组件,它们协同工作,提供了一套完整的解决方案,方便开发者构建和管理分布式系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值