spring cloud是一个微服务框架。spring cloud提供了全套的分布式系统解决方案,不仅对微服务基础框架netflix的多个开源组件进行了封装,同时还实现了和云端平台以及spring boot开发框架的集成。
本篇文章将介绍spring cloud定义功能等,希望对大家有所帮助。
推荐课程:java教程。
spring cloud是一个微服务框架,相比dubbo等rpc框架, spring cloud提供的全套的分布式系统解决方案。
spring cloud对微服务基础框架netflix的多个开源组件进行了封装,同时又实现了和云端平台以及和spring boot开发框架的集成。
spring cloud为微服务架构开发涉及的配置管理,服务治理,熔断机制,智能路由,微代理,控制总线,一次性token,全局一致性锁,leader选举,分布式session,集群状态管理等操作提供了一种简单的开发方式。
spring cloud 为开发者提供了快速构建分布式系统的工具,开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对 接。
spring cloud的项目的位置
sping cloud是spring的一个顶级项目,spring的顶级项目列表如下:
spring io platform:用于系统部署,是可集成的,构建现代化应用的版本平台,具体来说当你使用maven dependency引入spring jar包时它就在工作了。
spring boot:旨在简化创建产品级的 spring 应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能,可以和spring cloud联合部署。
spring framework:即通常所说的spring 框架,是一个开源的java/java ee全功能栈应用程序框架,其它spring项目如spring boot也依赖于此框架。
spring cloud:微服务工具包,为开发者提供了在分布式系统的配置管理、服务发现、断路器、智能路由、微代理、控制总线等开发工具包。
spring xd:是一种运行时环境(服务器软件,非开发框架),组合spring技术,如spring batch、spring boot、spring data,采集大数据并处理。
spring data:是一个数据访问及操作的工具包,封装了很多种数据及数据库的访问相关技术,包括:jdbc、redis、mongodb、neo4j等。
spring batch:批处理框架,或说是批量任务执行管理器,功能包括任务调度、日志记录/跟踪等。
spring security:是一个能够为基于spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。
spring integration:面向企业应用集成(eai/esb)的编程框架,支持的通信方式包括http、ftp、tcp/udp、jms、rabbitmq、email等。
spring social:一组工具包,一组连接社交服务api,如twitter、facebook、linkedin、github等,有几十个。
spring amqp:消息队列操作的工具包,主要是封装了rabbitmq的操作。
spring hateoas:是一个用于支持实现超文本驱动的 rest web 服务的开发库。
spring mobile:是spring mvc的扩展,用来简化手机上的web应用开发。
spring for android:是spring框架的一个扩展,其主要目的在乎简化android本地应用的开发,提供resttemplate来访问rest服务。
spring web flow:目标是成为管理web应用页面流程的最佳方案,将页面跳转流程单独管理,并可配置。
spring ldap:是一个用于操作ldap的java工具包,基于spring的jdbctemplate模式,简化ldap访问。
spring session:session管理的开发工具包,让你可以把session保存到redis等,进行集群化session管理。
spring web services:是基于spring的web服务框架,提供soap服务开发,允许通过多种方式创建web服务。
spring shell:提供交互式的shell可让你使用简单的基于spring的编程模型来开发命令,比如spring roo命令。
spring roo:是一种spring开发的辅助工具,使用命令行操作来生成自动化项目,操作非常类似于rails。
spring scala:为scala语言编程提供的spring框架的封装(新的编程语言,java平台的scala于2003年底/2004年初发布)。
spring blazeds integration:一个开发ria工具包,可以集成adobe flex、blazeds、spring以及java技术创建ria。
spring loaded:用于实现java程序和web应用的热部署的开源工具。
spring rest shell:可以调用rest服务的命令行工具,敲命令行操作rest服务。
三、spring cloud的子项目
spring cloud包含了很多子项目,如:
spring cloud config:配置管理工具,支持使用git存储配置内容,支持应用配置的外部化存储,支持客户端配置信息刷新、加解密配置内容等
spring cloud bus:事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与spring cloud config联合实现热部署。
spring cloud netflix:针对多种netflix组件提供的开发工具包,其中包括eureka、hystrix、zuul、archaius等。
netflix eureka:一个基于rest服务的服务治理组件,包括服务注册中心、服务注册与服务发现机制的实现,实现了云端负载均衡和中间层服务器的故障转移。
netflix hystrix:容错管理工具,实现断路器模式,通过控制服务的节点,从而对延迟和故障提供更强大的容错能力。
netflix ribbon:客户端负载均衡的服务调用组件。
netflix feign:基于ribbon和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,可以让你以命令行方式快速建立
以上就是什么是spring cloud的详细内容。