目前主流的微服务框架:Dubbo、 SpringCloud、thrift、Hessian等,目前国内的中小企业用的大多数都是Dubbo,SpringCloud估计很少
springCloud是基于SpringBoot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是,跟spring boot框架一起使用的话,会让你开发微服务架构的云服务非常好的方便。
Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。
Spring Cloud Netflix,该项目是Spring Cloud的子项目之一,主要内容是对Netflix公司一系列开源产品的包装,它为Spring Boot应用提供了自配置的Netflix OSS整合。通过一些简单的注解,开发者就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。它主要提供的模块包括:服务发现(Eureka),断路器(Hystrix),智能路有(Zuul),客户端负载均衡(Ribbon)
断路器模式源于Martin Fowler的Circuit Breaker一文。“断路器”本身是一种开关装置,用于在电路上保护线路过载,当线路中有电器发生短路时,“断路器”能够及时的切断故障电路,防止发生过载、发热、甚至起火等严重后果。
在分布式架构中,断路器模式的作用也是类似的,当某个服务单元发生故障(类似用电器发生短路)之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个错误响应,而不是长时间的等待。这样就不会使得线程因调用故障服务被长时间占用不释放,避免了故障在分布式系统中的蔓延。
spring cloud子项目包括:
Spring Cloud Config:配置管理开发工具包,可以让你把配置放到远程服务器,目前支持本地存储、Git以及Subversion。
Spring Cloud Bus:事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。
Spring Cloud Netflix:针对多种Netflix组件提供的开发工具包,其中包括Eureka、Hystrix、Zuul、Archaius等。
Netflix Eureka:云端负载均衡,一个基于 REST 的服务,用于定位服务,以实现云端的负载均衡和中间层服务器的故障转移。
Netflix Hystrix:容错管理工具,旨在通过控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。
Netflix Zuul:边缘服务工具,是提供动态路由,监控,弹性,安全等的边缘服务。
Netflix Archaius:配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。
Spring Cloud for Cloud Foundry:通过Oauth2协议绑定服务到CloudFoundry,CloudFoundry是VMware推出的开源PaaS云平台。
Spring Cloud Sleuth:日志收集工具包,封装了Dapper,Zipkin和HTrace操作。
Spring Cloud Data Flow:大数据操作工具,通过命令行方式操作数据流。
Spring Cloud Security:安全工具包,为你的应用程序添加安全控制,主要是指OAuth2。
Spring Cloud Consul:封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成。
Spring Cloud Zookeeper:操作Zookeeper的工具包,用于使用zookeeper方式的服务注册和发现。
Spring Cloud Stream:数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。
Spring Cloud CLI:基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件。
SpringCloud特点
1:约定优于配置
2:开箱即用、快速启动
3:适用于各种环境
4:轻量级的组件
5:组件支持丰富,功能齐全
相关推荐
单体架构vs微服务架构,dubbo与spring cloud对比,spring cloud整体架构,简单架构,eureka介绍,hystrix介绍, feign介绍,spring cloud config配置介绍,zuul配置中心介绍, spring cloud开发步骤,docker自动化...
Spring Cloud是基于Spring Boot的微服务开发工具,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)操作的简单...
SpringCloud微服务架构技术分享 ...三、SpringCloud介绍:介绍SpringCloud起源,技术概述,一站式解决方案架构图等 四、SpringCloud常用组件:项目实战,搭建指南,主要讲解SpringCloud的几大常用组件和介绍其他组件
SpringCloud课件,微服务SpringCloud介绍
SpringCloud系列Demo代码,每个子项目都是SpringCloud的一个知识点或者说技能点且都有对应的博客介绍,代码开箱即用适合新手学习或老司机复习。 SpringCloud系列Demo代码,每个子项目都是SpringCloud的一个知识点...
一、 传统服务架构与微服务架构 二、 什么是微服务 三、 SpringCloud介绍 四、 Eureka介绍 五、 Ribbon介绍 六、 Hystric介绍 七、 Feign介绍 八、 Zuul介绍 九、 Config介绍
Spring Cloud Config:配置管理工具,目前支持本地存储、Git以及Subversion,可以实现应用配置的外部化存储,支持客户端配置信息刷新、加密/解密配置内容等。 Eureka:服务治理组件,包含服务注册中心、服务注册与...
通过以上介绍,我们不仅了解了Spring Cloud的基本概念和核心组件,还掌握了如何下载并使用其源码进行深入学习的方法。这对于开发者来说是非常宝贵的学习资源,有助于更好地理解和应用Spring Cloud技术栈。
尚硅谷_SpringCloud_SpringCloud国内使用情况.avi这部视频中,讲师详细介绍了SpringCloud在国内的广泛应用场景和普及程度。SpringCloud因其强大的服务治理、服务发现、负载均衡等功能,成为了企业级微服务架构的首选...
一篇很好的springCloud学习的思维导读,详细的介绍了,springCloud的搭建步骤以及各组件的说明讲解 涵盖 Eureka服务注册与发现 Zookeeper服务注册与发现 Consul服务注册与发现 Ribbon负载均衡服务调用 OpenFeign...
接着,会介绍Spring Cloud的核心组件——Eureka,它是服务注册与发现的实现,让服务提供者和服务消费者能够自动发现彼此。通过实例,读者可以学习到如何创建和注册服务,以及如何实现服务调用。 Spring Cloud ...
本笔记主要介绍了从单体架构到微服务架构的演变过程,以及 Spring Cloud 中的微服务架构搭建。下面是本笔记的详细知识点总结: 一、单体架构 单体架构是指整个系统只有一个工程,打包往往是打成了 war 包,然后...
尚硅谷_SpringCloud_SpringCloud功能域和官网资料介绍.avi" 这个视频可能涵盖了SpringCloud的主要功能领域,包括服务注册与发现、负载均衡、断路器模式、配置中心、API网关、服务跟踪等。在视频中,讲师可能会详细...
### SpringCloud核心概念与面试题解析 #### 一、SpringCloud简介 1. **SpringCloud定义** SpringCloud是一个构建在Spring Boot之上的微服务框架集合,它利用Spring Boot的便捷开发特性,极大地简化了分布式系统...
下面将详细介绍Springcloud的相关知识点。 首先,Spring Boot简化了Java应用程序的创建和部署,通过 starter POMs 可以简化依赖管理,并提供自动配置功能。在Springcloud项目中,Spring Boot作为基础,使得开发...
介绍Spring Cloud Stream与RabbitMQ集成的代码示例。Spring Cloud Stream是一个建立在Spring Boot和Spring Integration之上的框架,有助于创建事件驱动或消息驱动的微服务。
我这个系列也介绍Spring Cloud各模块的如何使用,如果你已经使用的很熟悉,也需要更好看。 本系列主要包括以下功能的介绍和简单的脚手架 随着我的 Spring Cloud 系列文章的更新,下面的目录同步更新,文章会首发于...
以下将详细介绍如何在SpringCloud中配置和使用Redis集群。 首先,你需要了解Redis集群的基本概念。Redis集群通过数据分片(Sharding)技术,将数据分散存储在多个节点上,每个节点只负责一部分数据,从而实现数据的...