springcloud(一) Spring Cloud入门



Spring Cloud介绍

Spring Cloud是一系列框架的有序集合,它利用Spring Boot的开发便利性巧妙的简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署,SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、容易部署和维护的分布式系统开发工具包.

微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元, springcloud就是这些服务的大管家, 采用了微服务这种架构之后, 项目的数量会非常多,springcloud作为大管家需要管理好这些微服务.

主要的小弟有:Spring Cloud Config、Spring Cloud Netflix(Eureka、Hystrix、Zuul、Archaius…)、Spring Cloud Bus、Spring Cloud for Cloud Foundry、Spring Cloud Cluster、Spring Cloud Consul、Spring Cloud Security、Spring Cloud Sleuth、Spring Cloud Data Flow、Spring Cloud Stream、Spring Cloud Task、Spring Cloud Zookeeper、Spring Cloud Connectors、Spring Cloud Starters、Spring Cloud CLI

核心成员

–1 Spring Cloud Netflix

这可是个大boss,地位仅次于老大, 老大各项服务依赖于它,与各种Netflix OSS组件集成,组成微服务的核心, 它的小弟主要有Eureka, Hystrix, Zuul…

–2 Netflix Eureka

服务中心、云端服务发现, 一个基于REST的服务, 用于定位服务, 以实现云端中间层服务发现和故障转移,这个可是SpringCloud最厉害的组件, 服务中心, 其他任何组件需要的支持都从这里拿, 同样各个组件有什么独门秘籍也都需要到这里报道, 方便以后其他的组件调用, 它的组件是你不需要直接找各种什么组件, 只需要到服务中心来领取,也都不需要知道提供支持的其他组件在哪里,直接拿来用就行,服务中心保证稳定性和质量

–3 Netflix Hystrix

熔断器,容错管理工具, 在通过熔断机制控制服务和第三方库的节点, 提高对延迟和故障更强大的容错能力, 比如某个组件突然中断,但是你还需要他的支持, 然后调用之后半天没有响应.你却不知道, 一直在等待这个响应,有可能别的小弟也正在调用该组卷,那么当请求多之后,就会发生扬中的阻影响老大的整体计划, 这个时候Hystrix就派上用场了, 当Hystrix发现某个小弟不在状态不稳定之后立马让他下线, 让其他小弟来顶上来了,或者给你说不用等了,这个小弟不行了,别再这排队了

–4 Netflix Zuul

Zuul是在云平台上提供动态路由、监控、弹性、安全等边缘的服务的框架,Zuul相当于是设备和Netflix流式应用的Web网站后端的所有请求的前门,当其他门派来找大哥办事的时候一定要经过zuul,看下有没有带刀子什么的给拦截回去,或者是需要找那个小弟的直接给带过去

–5 Netflix Archaius

配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能就可以实现动态回去配置、原理是每隔60s(默认,可配置)从配置源读取一次内容, 这样修改了配置文件后不需要重启服务就可以使修改后的内容生效、前提使用archaius的API来读取。

–6 Spring Cloud Config

俗称的配置中心,配置管理工具,让你可以把配置放到远程服务器,集中化管理集群配置, 目前支持本地存储 GIT以及Subversion就是以后大家武器、 枪火什么的东西都集中放到一起,别随便自己带,方便以后统一管理、升级装备

–7 Spring Cloud Bus

事件、消息总线用于在集群中(例如,配置变化事件)中传播状态变化,可以SpringCloudConfig联合实现热部署,相当于水浒传中日行八百里的神行太保,确保各个小弟之间消息保持畅通.

–8 Spring Cloud for Cloud Foundry
CloudFoundry 是VMware推出的业界第一个开源paas云平台,它支持多种框架 语言  运行时环境 云平台以及应用服务  使开发人员能够在几秒钟内进行应用程序的部署和扩展, 无需担心任何基础架构的问题
–9 Spring Cloud Cluster

Spring Cloud Cluster 将取代Spring Integration提供在分布式系统中的集群所需要的基础功能支持, 如选举、集群的状态一致性、全局锁、token等常见状态模式的抽象和实现
如果把不同的帮派组织成统一的整体, Spring Cloud Cluster 已经帮你提供了很多方便组织成统一的工具

–10 Spring Cloud Consul

Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源. Consul 支持健康检查,并允许 HTTP 和 DNS 协议调用 API 存储键值对.

Spring Cloud Consul 封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成。

–11 Spring Cloud Stream

Spring Cloud Stream是创建消息驱动微服务应用的框架。Spring Cloud Stream是基于Spring Boot创建,用来建立单独的/工业级spring应用,使用spring integration提供与消息代理之间的连接。数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。

一个业务会牵扯到多个任务,任务之间是通过事件触发的,这就是Spring Cloud stream要干的事了

–12 Spring Cloud Task

Spring Cloud Task 主要解决短命微服务的任务管理,任务调度的工作,比如说某些定时任务晚上就跑一次,或者某项数据分析临时就跑几次。

–13 Spring Cloud Zookeeper

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

操作Zookeeper的工具包,用于使用zookeeper方式的服务发现和配置管理,抱了Zookeeper的大腿。

Spring Cloud的优势

微服务的框架那么多比如:dubbo、Kubernetes,为什么就要使用Spring Cloud的呢?

  • 产出于spring大家族,spring在企业级开发框架中无人能敌,来头很大,可以保证后续的更新、完善。比如dubbo现在就差不多死了
  • 有Spring Boot 这个独立干将可以省很多事,大大小小的活Spring Boot都搞的挺不错。
  • 作为一个微服务治理的大家伙,考虑的很全面,几乎服务治理的方方面面都考虑到了,方便开发开箱即用。
  • Spring Cloud 活跃度很高,教程很丰富,遇到问题很容易找到解决方案
  • 轻轻松松几行代码就完成了熔断、均衡负载、服务中心的各种平台功能

Spring Cloud对于中小型互联网公司来说是一种福音,因为这类公司往往没有实力或者没有足够的资金投入去开发自己的分布式系统基础设施,使用Spring Cloud一站式解决方案能在从容应对业务发展的同时大大减少开发成本。同时,随着近几年微服务架构和Docker容器概念的火爆,也会让Spring Cloud在未来越来越“云”化的软件开发风格中立有一席之地,尤其是在目前五花八门的分布式解决方案中提供了标准化的、全站式的技术方案,意义可能会堪比当前Servlet规范的诞生,有效推进服务端软件系统技术水平的进步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值