前言:

Spring Cloud是什么:

官网说明
SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,
全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封
装之外,还有一些选型中立的开源组件。
SpringCloud利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发
人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总
线、全局锁、决策竞选、分布式会话等等,它们都可以用SpringBoot的开发风格做到一键启动和部署。

SpringBoot并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,
通过SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和
易维护的分布式系统开发工具包

SpringCloud=分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶

 
SpringCloud和SpringBoot是什么关系 
SpringBoot专注于快速方便的开发单个个体微服务。
SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来,
为各个微服务之间提供,配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等集成服务

SpringBoot可以离开SpringCloud独立使用开发项目,但是SpringCloud离不开SpringBoot,属于依赖的关系.
SpringBoot专注于快速、方便的开发单个微服务个体,SpringCloud关注全局的服务治理框架。

 
Dubbo是怎么到SpringCloud的?
哪些优缺点让去技术选型
1、 目前成熟的互联网架构(分布式+服务治理Dubbo)
2、我们把SpringCloud VS DUBBO进行一番对比
活跃度:https://github.com/dubbo   https://github.com/spring-cloud
对比结果:

2.1、微服务应该具备的功能

微服务具有以下的特点:

微服务的功能主要体现在以下儿个方面:

2.1.1 服务的注册与发现

2.1 .2 服务的负载均衡

服务的负载均衡

将服务注册中心高可用

2.1.3 服务的容错

1个微服务系统有很多个服务,当 服务 F因某些原因导致了服务的不可用
来自于用户的网络请求需要调用服务F
由于服务F 无响应,用户的请求都处于阻塞状态 在高并发的场景下 短时间内会导致服务器的
线程资源消耗殆尽。
依赖于服务F 的其他的服务 ,例如 图中的服务 E、服务G 、服务 J,
会等待服务F 的响应,处于阻塞状态,导致这些服务的线程资源消耗殆尽
会出现:雪崩效应

为了解决分布式系统的雪崩效应,分布式系统引进了熔断器机制
熔断器( Circuit Breaker)一词来源于物理学中的电路知识 它的作用是当电路中 
出现故障时迅速切断电路,起到保护电路的作用
当一 个服务的处理用户请求 失败次数在一 定时间内于设定的阀值时,熔断器处于关闭状态,服务正常
当服务处理用户请求的失败次数大于设定的阀值时,说明服务出现了故障,打开熔断器,
这时所有的请求会执行快速失败,不执行业务逻辑。
当处于打开状态的熔断器时一 段时间后会处于半打开状态,并执行 一定数量的请求
剩余的请求会执行快速失败,若执行的请求失败了,则继续打开熔断器;若成功了,则将熔断器关闭

作用:

Netflix的 Hystrix 熔断器开源组件功能非常强大,不仅有烙断器的功能,还有熔断器的状态
监测,并提供界面友好的 UI 开发人员或者运维人员通过 UI 界面能够直观地看到熔断器的状
态和各种性能指标。

2.1.4 服务网关

2.1 .5 服务配置的统一管理

大致过程如下:

对于集群化的服务 可以通过使用消息总线来刷新多个服务实例。如果服务数量较多,对配置
中心需要考虑集群化部署,从而使配置中心高可用,做分布式集群

2.1.6 服务链路追踪

微服务系统是一个分布式架构的系统,微服务系统按业务划分服务单元, 一个微服务系统
往往有很多个服务单元。由于服务单元数量很多且业务复杂,
服务与服务之间的调用有可能非常复杂,一 旦出现了异常和
错误,就会很难去定位。所以在微服务架构中,必须实现分
布式链路追踪,去跟进 个请求到底有哪些服务参与,参与
的顺序又是怎样的 ,从而使每个请求链路清晰可见,出了问
题很快就能定位。

2.2、SpringCloud

2.2.1 简介

Spring Cloud 是基于 Spring Boot的, Spring Boot 是由 Pivotal 团队提供的全新 Web框架
它主要的特点就是简化了开发和部署的过程
简化了 Spring 复杂的配置和依赖管理,通过起步依赖和内置 Servilet 容器能够使开发者迅速搭一个 Web 工程。
Spring Cloud 在开发部署上继承了 Spring Boot的一些优点,提高其在开发和部署上的效率。
Spring Cloud 的首要目标就是通过提供 系列开发组件和框架,帮助开发者迅速搭建一个分布式的微服务系统

2.2.2 常用组件

1、服务注册和发现组件 Eureka
利用 Eureka 组件可以很轻松地实现服务的注册和发现的功能。
2、熔断组件 Hystrix
Hystrix是一个 熔断组件,它除了有一些些基本的熔断器功能外,还能够实现服务降级、服务限流的功能。
3、负载均衡组件 Ribbon
Ribbon是一个个负载均衡组件,它通常和 Eureka Zuul RestTemplate Feign 配合使用。
4、路由网关 Zuul
路由网关 Zuul 有智能路由和过滤的功能。内部服务的 API 接口通过 Zuul 网关统 一对外暴露,
内部服务的 API 接口不直接暴露,防止了内部服务敏感信息对外暴露。
5、Spring Cloud Config
Spring Cloud Config 组件提供了配置文件统 管理的功能。
Spring Cloud Config Server包括Server端和 Client Server 端读取本地仓库或者远程仓库的配
置文件,所有的 Client向 Server读取配置信息,从而达到配置文件统 管理的目的。
6、Spring Cloud Security
Spring Cloud Security 是对 Spring Security 组件的封装 Spring Cloud Security 向服务单元
提供了用户验证和权限认证。(很少使用)
7、Spring Cloud Sleuth
Spring Cloud Sleuth 是一个分布式链路追踪组件,它封装了 Dapper 、Zipkin、 Kibana 等组
件,通过它可以知道服务之间的相互依赖关系,并实时观察链路的调用情况
8、Spring Cloud Stream
Spring Cloud Stream Spring Cloud 框架的数据流操作包,可以封装 RabbitMq ActiveMq
Kafka Red is 等消息组件, 利用 Spring Cloud Stream 可以实现消息的接收和发送。

2.2.3 项目一览表

2.3、Dubbo简介

Dubbo 是阿里巴巴开源的一个分布式服务框架,致力于提供高性能和 透明化的 RPC 远程
服务调用方 ,以及 SOA 服务冶理方案 。

核心:

架构图:

流程图如下: 
特性: 

2.4、spring cloud与Dubbo的比较

转载于:https://www.cnblogs.com/Mrchengs/p/10643776.html

2、Spring Cloud - 入门概述相关推荐

  1. Spring Cloud 入门 之 Config 篇(六)

    一.前言 随着业务的扩展,为了方便开发和维护项目,我们通常会将大项目拆分成多个小项目做成微服务,每个微服务都会有各自配置文件,管理和修改文件起来也会变得繁琐.而且,当我们需要修改正在运行的项目的配置时 ...

  2. Spring Cloud 入门 之 Zuul 篇(五)

    一.前言 随着业务的扩展,微服务会不对增加,相应的其对外开放的 API 接口也势必增多,这不利于前端的调用以及不同场景下数据的返回,因此,我们通常都需要设计一个 API 网关作为一个统一的 API 入 ...

  3. Spring Cloud 入门 之 Hystrix 篇(四)

    一.前言 在微服务应用中,服务存在一定的依赖关系,如果某个目标服务调用慢或者有大量超时造成服务不可用,间接导致其他的依赖服务不可用,最严重的可能会阻塞整条依赖链,最终导致业务系统崩溃(又称雪崩效应). ...

  4. Spring Cloud 入门 之 Feign 篇(三)

    一.前言 在上一篇文章<Spring Cloud 入门 之 Ribbon 篇(二)> 中介绍了 Ribbon 使用负载均衡调用微服务,但存在一个问题:消费端每个请求方法中都需要拼接请求服务 ...

  5. Spring Cloud 入门 之 Ribbon 篇(二)

    一.前言 上一篇<Spring Cloud 入门 之 Eureka 篇(一)> 介绍了微服务的搭建,服务注册与发现.但在文章中留了一个小尾巴--如何正确使用 Eureka 进行服务发现并调 ...

  6. Spring Cloud 入门 之 Eureka 篇(一)

    一.前言 Spring Cloud 是一系列框架的有序集合.它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载均衡.断路器.数据 ...

  7. Spring Cloud入门教程(二):客户端负载均衡(Ribbon)

    对于大型应用系统负载均衡(LB:Load Balancing)是首要被解决一个问题.在微服务之前LB方案主要是集中式负载均衡方案,在服务消费者和服务提供者之间又一个独立的LB,LB通常是专门的硬件,如 ...

  8. Spring Cloud入门-Admin服务监控中心(Hoxton版本)

    文章目录 Spring Cloud入门系列汇总 摘要 Spring Boot Admin 简介 创建admin-server模块 创建admin-client模块 监控信息演示 结合注册中心使用 修改 ...

  9. Spring Cloud入门-Sentinel实现服务限流、熔断与降级(Hoxton版本)

    文章目录 Spring Cloud入门系列汇总 摘要 Sentinel简介 安装Sentinel控制台 创建sentinel-service模块 限流功能 创建RateLimitController类 ...

最新文章

  1. html插入不规则表格,如何构建HTML表格中的不规则形状?
  2. C# 温故而知新:Stream篇(七)
  3. 德国布线牛到不行?今天带你看看咱们中国的!
  4. VSCode中Markdown目录显示异常
  5. daoi php_聊聊这些年用过的AOI
  6. Java主函数要放在哪个类里_JAVA:主函数一定要放在静态内部类里吗
  7. 我在互联网上买了很多课程,但是感觉在互联网学习没有什么效果很多买的课我都不想学了
  8. Oracle正确迁移数据文件,Oracle数据文件迁移知多少?
  9. 各种安装包下载地址汇总
  10. 英雄无敌王朝 服务器维护,《魔法门之英雄无敌:王朝》版本更新公告
  11. Adobe(R) Flash(R) Player 安装失败.有关故障排除的提示,请访问 httpwww.adobe.comgotn_19166_cn
  12. html5简单表格制作
  13. 部署在服务器上的行驶证识别api接口
  14. api接口—闲鱼搜索的数据
  15. 论文 PPT 画图导出 PDF 注意事项
  16. 简单排查java应用CPU飙高的线程问题
  17. mysql中mvcc解决不可重复读
  18. xinetd 服务
  19. 数学建模:9 多元线性回归分析
  20. 在浏览器拉起应用的方式

热门文章

  1. spring el表达式 if else_vue指令集合:v-for,v-show,v-if等
  2. centos下安装mysql_centos下安装mysql服务器的方法
  3. ue4怎么导出fbx文件_【教程】Houdini Engine在UE4中的基本使用(一)
  4. java 修饰符作用_Java关键字修饰符的作用范围
  5. java jsonobject转List_java – 将JSONObject转换为List或JSONArray的简单代码?
  6. pymsql 与 SQLAlchemy 操作数据库的区别
  7. robo光线机器人 java_Robocode教程6——用eclipse来写你的机器人!
  8. Ubuntu20.04上安装部署Elasticsearch
  9. The following profiles are active: dev
  10. 《系统集成项目管理工程师》必背100个知识点-40缩短活动工期的措施