1、SpringCloud是什么?
Spring Cloud
是一套目前完整的微服务框架,是一系列框架的有序集合。它利用Spring Boot
的开发便利性,巧妙地简化了分布式系统基础设施的开发,如:服务注册、服务发现、配置中心、消息总线、负载均衡、断路器、数据监控等,这些都可以用Spring Boot
的开发风格做到一键启动和部署。
通俗的讲,Spring Cloud
就是用于构建微服务开发和治理的框架集合(并不是具体的一个框架),主要贡献来自 Netflix OSS。
2、Spring Cloud 模块介绍
- Eureka:服务注册中心,用于服务管理
- Ribbon:基于客户端的负载均衡组件
- Hystrix:容错框架,能够防止服务的雪崩效应
- Feign:一种声明式、模板化的HTTP客户端。它整合了Ribbon和Hystrix,具有负载均衡和熔断限流等功能,同时还提供了声明式的服务调用
- Zuul:API 网关,提供路由转发、请求过滤等功能
- Spring cloud config:配置文件放到统一的位置管理,包含了Client和Server两个部分,server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,client通过接口获取数据、并依据此数据初始化自己的应用
- Spring Cloud Bus:消息代理的集群消息总线
- Hystrix Dashboard:断路器监控,提供了服务监控的功能,提供了数据监控和友好的图形化界面
- Hystrix Turbine:断路器聚合监控,Hystrix Turbine将每个服务Hystrix Dashboard数据进行了整合。也是监控系统的功能
…
3、Spring Cloud和Spring Boot的关系与区别
SpringBoot
只是一个快速开发框架,使用注解简化了xml
配置,内置了Servlet
容器,以Java
应用程序进行执行。Spring Cloud
是一系列框架的集合,可以包含SpringBoot
。Spring Boot
只是一个快速开发框架,算不上微服务框架。- SpringCloud+SpringBoot 实现微服务开发。具体的来说是,
Spring Cloud
具备微服务开发的核心技术:RPC远程调用技术;Spring Boot
的web组件默认集成了Spring MVC
,可以实现HTTP+JSON的轻量级传输,编写微服务接口,所以Spring Cloud
依赖Spring Boot
框架实现微服务开发。