[微服务]揭开SpringCloud的神秘面纱

微信号:GitShare
微信公众号:爱折腾的稻草
如有问题或建议,请在公众号留言[1]

Spring Cloud中文社区Spring Cloud中文社区
一、Spring Cloud是什么?

Spring Cloud是一个基于springBoot实现的微服务架构开发工具集。它为微服务开发中涉及的配置管理、服务治理、断路器
、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理的操作提供了一种简单的开发方式。
最重要的是, 跟spring boot框架一起使用的话,会让你开发微服务架构的云服务非常好的方便。

SpringBoot旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能。

二、Spring Cloud特性
  • 约定优于配置
  • 开箱即用、快速启动
  • 适用于各种环境
  • 轻量级的组件
  • 组件支持丰富,功能齐全
三、Spring Cloud包含的子项目:
  • Spring Cloud Config:配置管理工具,支持使用Git存储配置内容,可以使用它实现应用配置的外部化存储,并支持客户端
    配置信息刷新、加密/解密配置内容等。
  • Spring Cloud Netflix:核心组件,对多个Netflix多个开源组件进行整合。
    • Eureka:服务治理组件,服务注册与发现的实现。
    • Hystrix:容错管理组件,实现断路器模式,帮助服务依赖中出现的延迟和故障提供强大的容错能力。
    • Ribbon:客户端负载均衡的服务调用组件。
    • Feign:基于Ribbon和Hystrix的声明式服务调用组件。
    • Zuul:服务网关组件,提供智能路由、访问过滤等功能。
    • Archaius:配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。
    • Turbine:聚合服务器发送事件流数据的一个工具,用来监控集群下hystrix的metrics情况。
  • Spring Cloud Bus:事件、消息总线,用于传播集群中的状态变化或事件,以触发后续的处理。
  • Spring Cloud Cluster:针对ZooKeeper、Redis、Hazelcast、Consul等选举算法和通用状态模式的实现。
  • Spring Cloud Consul:服务发现和配置管理工具。
  • Spring Cloud Stream:通过Redis、Rabbit或者Kafka实现的消费微服务,可以通过简单的声明式模型来发送和接收消息。
  • Spring Cloud AWS:用于简化整合Amazon Web Service组件。
  • Spring Cloud Security:安全工具包,提供在Zuul代理中对OAuth2客户端请求的中继器。
  • Spring Cloud Sleuth:日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。
  • Spring Cloud ZooKeeper:基于ZooKeeper的服务发现与配置管理组件。
  • Spring Cloud Starters:Spring Boot式的启动项目,为Spring Cloud提供开箱即用的依赖管理。
  • Spring Cloud CLI:用于在Groovy中快速创建Spring Cloud应用的Spring Boot CLI插件。
  • Spring Cloud Data Flow:大数据操作工具,作为Spring XD的替代产品,它是一个混合计算模型,结合了流数据与批量数据的处理方式。
  • Spring Cloud Task:提供云端计划任务管理、任务调度。
四、Spring Boot是什么?

Spring Boot让我们的Spring应用变的更轻量化。比如:你可以仅仅依靠一个Java类来运行一个Spring引用。你也可以打包你的应用为jar并通过使用java -jar来运行你的Spring Web应用。
SpringBoot的主要优点:

  • 去除了大量的xml配置文件
  • 简化了复杂的依赖管理
  • 配合各种starter使用,基本上可以做到自动化配置(都有默认配置)
  • 开箱即用,提供各种默认配置来简化项目配置
  • 内嵌式容器简化Web项目,快速启动容器

Spring Boot的缺点:

  • 从原来的xml配置方式转换到Java配置方式变化有点大,不太适应。
  • 不适合做比较大型的项目,比较适合做微服务应用。

Spring Boot没有引入任何形式的代码生成,而是利用了Spring 4的条件化配置特性,以及Maven和Gradle提供的传递依赖解析,以此实现Spring应用程序上下文里的自动配置。

从本质上来说,Spring Boot是一个专注于框架的框架。Spring Boot就是对各种框架的整合,让他们集成在一起更加简单,简化了我们在集成过程中的模板化配置,
它做了那些没有它你自己也会去做的Spring Bean配置。你不用再写这些样板配置了,可以专注于应用程序的逻辑,这些才是应用程序独一无二的东西。


图注:爱折腾的稻草图注:爱折腾的稻草
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值