⼆、springcloud概述【1】(springcloud简介、核⼼功能、特
点)
⼀.什么是Spring Cloud
Spring Cloud是⼀系列框架的有序集合。它利⽤Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中⼼、消息总线、负载均衡、断路器、数据监控等,都可以⽤Spring Boot的开发风格做到⼀键启动和部署。Spring Cloud并没有重复制造轮⼦,它只是将⽬前各家公司开发的⽐较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进⾏再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了⼀套简单易懂、易部署和易维护的分布式系统开发⼯具包。
⼆.Spring Cloud常⽤组件
2.1 Spring Cloud Config
服务配置中⼼,将所有的服务的配置⽂件放到本地仓库或者远程仓库,配置中⼼负责读取仓库的配置⽂件,其他服务向配置中⼼读取配置。Spring Cloud Config使得服务的配置统⼀管理,并可以在不⼈为重启服务的情况下进⾏配置⽂件的刷新。
2.2 Spring Cloud Netflix
它是通过包装了Netflix公司的微服务组件实现的,也是Spring Cloud核⼼组件,包括Eureka,Hystrix,Zuul,Archaius。
2.3 Eureka
服务注册和发现组件
2.4 Hystrix
熔断器组件。它通过控制服务的API接⼝的熔断来转移故障,防⽌微服务系统发⽣雪崩效应。另外Hystrix能够起到服务限流和服务降级的作⽤。使⽤Hystrix Dashboard组件监控单个服务的熔断状态,使⽤Hystrix Turbine组件可以监控多个服务的熔断器的状态。
2.5 Zuul
智能路由⽹关组件。能够起到智能路由和请求过滤的作⽤,内部服务API接⼝通过Zuul⽹关统⼀对外暴露,防⽌内部服务敏感信息对外暴露。也可以实现安全验证,权限控制。
2.6 Feign
声明式远程调度组件。
2.7 Ribbon
负载均衡组件
2.8 Archaius
配置管理API组件,⼀个基于Java的配置管理库,主要⽤于多配置的动态获取。
2.9 Spring Cloud Bus
消息总线组件,常和Spring Cloud Config配合使⽤,⽤于动态刷新服务的配置。
2.10 Spring Cloud Sleuth
服务链路追踪组件,封装了Dapper,Zipkin,Kibina等组件,可以实时监控服务链路调⽤状况。
2.11 Spring Cloud Data Flow
springcloud难学吗⼤数据操作组件,它是Spring XD的替代品,也是⼀个混合计算模型,可以通过命令⾏的⽅式操作数据流
2.12 Spring Cloud Consul
该组件是Spring Cloud对Consul的封装,和Eureka类似,它是⼀个服务注册和发现组件。
2.13 Spring Cloud Zookeeper
该组件是Spring Cloud对Zookeeper的封装,也是⽤于服务注册和发现
2.14 Spring Cloud Stream
数据流操作组件,可以封装 Redis,RabbitMQ,Kafka等组件,实现消息的接受和发送。
2.15 Spring Cloud CLI
该组件是对Spring Boot CLI的封装,可以让⽤户以命令⾏⽅式快速搭建和运⾏容器。
2.16 Spring Cloud Task
该组件基于Spring Tsak,提供任务调度和任务管理的功能。
三.Spring Cloud 和 Dubbo⽐较
Spring Cloud拥有很多的项⽬模块,包含微服务的⽅⽅⾯⾯,Dubbo是个⼗分优秀的服务治理和服务调⽤框架,但缺少了很多的功能模块,例如⽹关,链路追踪等。
开发风格上,Dubbo倾向于xml配置⽅式,⽽Spring Cloud基于Spring Boot,它采⽤基于注解和JavaBean配置⽅式的敏捷开发。        通信⽅式上Spring Cloud⼤多数基于HTTP Restful风格,服务与服务间完全耦合,因此服务⽆关乎语⾔和平台。Dubbo采⽤远程调⽤⽅式,对接⼝平台和编程语⾔有强依赖性。
Dubbo和Spring Cloud各有优缺点,Dubbo更易上⼿,也⾮常成熟和稳定,Spring Cloud服务框架严格准守者 Martin Fowler 提出的微服务规范,社区活跃,未来很可能成为微服务架构的标准。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。