分布式系统开发技术-学习总结01
1. 什么是 Spring Cloud?
Spring cloud流应用程序启动器是基于Spring Boot的Spring集成应用程序,提供与外部系统的集成。Spring cloud Task,一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud是一个全家桶式的技术栈,包含了很多组件。 最核心的是Eureka、Ribbon、Feign、Hystrix、Zuul这几个组件。简单来说 ——
-
Spring Cloud是一个微服务框架,相比Dubbo等RPC框架, Spring Cloud提供的全套的分布式系统解决方案。
-
Spring Cloud对微服务基础框架Netflix的多个开源组件进行了封装,同时又实现了和云端平台以及和Spring - Boot开发框架的集成。
-
Spring Cloud为微服务架构开发涉及的配置管理,服务治理,熔断机制,智能路由,微代理,控制总线,一次性token,全局一致性锁,leader选举,分布式session,集群状态管理等操作提供了一种简单的开发方式。
-
Spring Cloud 为开发者提供了快速构建分布式系统的工具,开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。
Spring Cloud有以下特点:
-
约定优于配置
-
适用于各种环境。开发、部署在PC Server 或各种云环境均可
-
隐藏了组件的复杂性,并提供声明式,无xml的配置方式
-
开箱即用
-
轻量级的组件.。Spring Cloud整合的组件大多比较轻量。例如Eureka,Zuul,等等
-
组件丰富,功能齐全。Spring Cloud 为微服务架构提供了非常完整的支持.例如,配置管理,服务发现,断路器,微服务网关等;
-
选型中立、丰富。 例如,Spring Cloud 支持使用Eureka,Zookeeper或Consul实现服务发现.
-
灵活。Spring Cloud的组成部分是解耦的,开发人员可按需灵活挑选技术选型。
现在从整体上看一下 Spring Cloud 各个组件是如何来配套使用的: