Spring Cloud 入门概述

1. Spring Cloud 是什么?

Building distributed systems doesn’t need to be complex and error-prone. Spring Cloud offers a simple and accessible programming model to the most common distributed system patterns, helping developers build resilient, reliable, and coordinated applications. Spring Cloud is built on top of Spring Boot, making it easy for developers to get started and become productive quickly.

构建分布式系统不再像以前那么复杂,并且容易出错了。Spring Cloud 提供了一个简单的可行的编程模型来实现通用的分布式系统模式,帮助开发人员构建弹性的、可靠的 和可协调的应用程序。由于 Spring Cloud 是基于 Spring Boot,因此对开发人员来说可以快速上手和开发应用。

spring cloud

总而言之:Spring Cloud 是分布式微服务架构下的一整套解决方案,是各个微服务架构落地技术的集合体。

2. Spring Cloud 与 Spring Boot 有什么关系?
  • Spring Boot 是开发一个个微服务的框架
  • Spring Cloud 依赖 Spring Boot
  • Spring Cloud 是微服务架构的治理框架,对各个微服务进行协调
3. spring cloud 与 dubbo 的对比
3.1 dubbo

谈到微服务治理,那肯定得了解一下由阿里出品的在国内大名鼎鼎的 dubbo 框架,严格来说,dubbo 只是一个服务治理框架,它并不是一个完整的微服务架构下的一站式解决方案。
dubbo 架构

使用 dubbo 实现微服务有如下几点好处:

  • 没有中间层,consumer 端可以直接调用(RPC 调用) provider 端提供的服务
  • 服务信息集中在 registry(注册中心)中,形成服务治理的核心组件
  • 通过Monitor监控系统,可以直观地展示服务调用的统计信息
  • consumer 可以进行负载均衡、服务降级的选择

但是对于微服务架构而言,dubbo 也并不是十全十美的:

  • registry 严重依赖第三方组件(zookeeper 或 redis),当这些组件出现问题时,服务调用很快就会中断
  • dubbo 只支持 RPC 调用。使得服务提供方与调用方在代码上产生了强依赖,服务提供者需要不断将包含公共代码的 jar 包打包出来供消费者使用。provider 端的提供的服务有改动,consumer 端跟着改动
3.2 spring cloud

spring cloud 的宗旨是开发面向云环境的应用程序,它为微服务架构提供了一站式的解决方案,并且有强大的社区支持,能与 spring 家族完美结合。
下表展示了 spring cloud 与 dubbo 在各方面的对比:

功能spring clouddubbo
服务注册和发现eurekazookeeper
服务调用方式restful apirpc
断路器支持支持
负载均衡支持支持
服务路由和过滤支持支持
分布式配置支持不支持
服务网关支持不支持
集群选主支持不支持
分布式消息支持不支持

spring cloud 抛弃了 dubbo 的 RPC 通信,采用的是基于 HTTP 的 REST 方式。严格来说,这两种方式各有优劣。虽然从一定程度上来说,后者牺牲了服务调用的性能,但也避免了原生 RPC 带来的问题,而且 REST 相比 RPC 更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下,显得更加合适。

4 spring cloud 开发五大组件
  • 服务发现——Netflix Eureka
  • 客服端负载均衡——Netflix Ribbon
  • 断路器——Netflix Hystrix
  • 服务网关——Netflix Zuul
  • 分布式配置——Spring Cloud Config

参考:
https://spring.io/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【2021年,将Spring全家桶系列课程进行Review,修复顺序等错误。进入2022年,将Spring的课程进行整理,整理为案例精讲的系列课程,并新增高级的Spring Security等内容,通过手把手一步步教你从零开始学会应用Spring,课件将逐步进行上传,敬请期待】 本课程是Spring案例精讲课程的第四部分Spring CloudSpring案例精讲课程以真实场景、项目实战为导向,循序渐进,深入浅出的讲解Java网络编程,助力您在技术工作中更进一步。 本课程聚焦Spring Cloud的核心知识点:注册中心、服务提供者与消费者、服务的调用OpenFeign、Hystrix监控、服务网关gateway、消息驱动的微服务Spring Cloud Stream、分布式集群、分布式配置中心的案例介绍, 快速掌握Spring Cloud的核心知识,快速上手,为学习及工作做好充足的准备。 由于本课程聚焦于案例,即直接上手操作,对于Spring的原理等不会做过多介绍,希望了解原理等内容的需要通过其他视频或者书籍去了解,建议按照该案例课程一步步做下来,之后再去进一步回顾原理,这样能够促进大家对原理有更好的理解。【通过Spring全家桶,我们保证你能收获到以下几点】 1、掌握Spring全家桶主要部分的开发、实现2、可以使用Spring MVC、Spring Boot、Spring CloudSpring Data进行大部分的Spring开发3、初步了解使用微服务、了解使用Spring进行微服务的设计实现4、奠定扎实的Spring技术,具备了一定的独立开发的能力  【实力讲师】 毕业于清华大学软件学院软件工程专业,曾在Accenture、IBM等知名外企任管理及架构职位,近15年的JavaEE经验,近8年的Spring经验,一直致力于架构、设计、开发及管理工作,在电商、零售、制造业等有丰富的项目实施经验  【本课程适用人群】如果你是一定不要错过!  适合于有JavaEE基础的,如:JSP、JSTL、Java基础等的学习者没有基础的学习者跟着课程可以学习,但是需要补充相关基础知识后,才能很好的参与到相关的工作中。 【Spring全家桶课程共包含如下几门】 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值