Spring Cloud基础

xiaoxiao2021-02-28  82

Spring Cloud的基础是Spring Boot。它的优势在于:

1. 创建独立的Spring应用程序2. 嵌入的Tomcat,无需部署WAR文件3. 简化Maven配置4. 自动配置Spring5. 提供生产就绪型功能,如指标,健康检查和外部配置6. 绝对没有代码生成和对XML没有要求配置

Spring Cloud微服务架构:

微服务架构就是将一个完整的应用从数据存储开始垂直拆分成多个不同的服务,每个服务都能独立部署、独立维护、独立扩展,服务与服务间通过诸如RESTful API的方式互相调用。

Spring Cloud是一系列框架的有序集合。它利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用SpringBoot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

Spring Cloud的子项目之一,主要内容是对Netflix公司一系列开源产品的包装,它为SpringBoot应用提供了自配置的NetflixOSS整合。通过一些简单的注解,开发者就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。它主要提供的模块包括:服务发现(Eureka),断路器(Hystrix),智能路由(Zuul),客户端负载均衡(Ribbon)等。

主要组件有:

Spring Cloud Config:配置管理开发工具包,可以让你把配置放到远程服务器,目前支持本地存储、Git以及Subversion。SpringCloud Bus:事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与SpringCloud Config联合实现热部署。SpringCloud Netflix:针对多种Netflix组件提供的开发工具包,其中包括Eureka、Hystrix、Zuul、Archaius等。NetflixEureka:云端负载均衡,一个基于REST 的服务,用于定位服务,以实现云端的负载均衡和中间层服务器的故障转移。NetflixHystrix:容错管理工具,旨在通过控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。NetflixZuul:边缘服务工具,是提供动态路由,监控,弹性,安全等的边缘服务。NetflixArchaius:配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。SpringCloud for Cloud Foundry:通过Oauth2协议绑定服务到CloudFoundry,CloudFoundry是VMware推出的开源PaaS云平台。SpringCloud Sleuth:日志收集工具包,封装了Dapper,Zipkin和HTrace操作。SpringCloud Data Flow:大数据操作工具,通过命令行方式操作数据流。SpringCloud Security:安全工具包,为你的应用程序添加安全控制,主要是指OAuth2。SpringCloud Consul:封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成。SpringCloud Zookeeper:操作Zookeeper的工具包,用于使用zookeeper方式的服务注册和发现。SpringCloud Stream:数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。SpringCloud CLI:基于 SpringBoot CLI,可以让你以命令行方式快速建立云组件。

【Spring Cloud Netflix- Eureka】

Eureka分为Eureka Server和Eurekaclient, EurekaServer是一个服务注册中心,为服务实例注册管理和查询可用实例提供了RESTAPI,并可以用其定位、负载均衡、故障恢复后端服务的中间层服务。在服务启动后,EurekaClient向服务注册中心注册服务同时会拉去注册中心注册表副本;在服务停止的时候,EurekaClient向服务注册中心注销服务;服务注册后,EurekaClient会定时的发送心跳来刷新服务的最新状态。

【Spring Cloud Netflix- Hystrix】

Hystrix,是Netflix的一个开源熔断器,通过Hystrix,我们可以很方便的实现资源隔离、限流、超时设计、服务降级等服务容灾措施,并且还提供了强大的监控,可以查看各个熔断器的允许情况。

【Spring Cloud Netflix- Zuul】

Zuul的主要功能是路由和过滤器。路由功能是微服务的一部分,比如/api/user映射到user服务,/api/shop映射到shop服务。zuul实现了负载均衡

http://blog.csdn.net/neosmith/article/details/52449921

转载请注明原文地址: https://www.6miu.com/read-19285.html

最新回复(0)