一、什么是SpringCloud?
-
Spring Cloud 是一系列框架的有序集合。
-
Spring Cloud 并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来。
-
通过 Spring Boot 风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
-
它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、 断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
-
Spring Cloud项目官方网址:https://spring.io/projects/spring-cloud
-
Spring Cloud 版本命名方式采用了伦敦地铁站的名称,同时根据字母表的顺序来对应版本时间顺序,比如:最早的Release版本:Angel,第二个Release版本:Brixton,然后是Camden、Dalston、Edgware,Finchley,Greenwich,Hoxton等
二、SpringCloud由什么组成
- Spring Cloud Eureka:服务注册与发现
- Spring Cloud GateWay:服务网关
- Spring Cloud Ribbon:客户端负载均衡
- Spring Cloud Feign:声明性的Web服务客户端
- Spring Cloud Hystrix:熔断器
- Spring Cloud Config:分布式统一配置管理
等20几个框架,开源一直在更新
三、SpringBoot和SpringCloud的区别
- SpringBoot专注于快速方便的开发单个个体微服务。
- SpringCloud是关注全局的微服务协调治理框架,它将SpringBoot开发的一个个单体微服务整 合并管理起来, 为各个微服务之间提供,配置管理、服务发现、断路器、路由、事件总线、全局锁、分布式会话等等集成服务
- SpringBoot可以离开SpringCloud独立使用开发项目, 但是SpringCloud离不开SpringBoot ,属 于依赖的关系
- SpringBoot专注于快速、方便的开发单个微服务个体,SpringCloud关注全局的服务治理框架
四、Spring Cloud 和dubbo区别?
- (1)服务调用方式:dubbo是RPC springcloud Rest Api
- (2)注册中心:dubbo 是zookeeper springcloud是eureka
- (3)服务网关,dubbo本身没有实现,只能通过其他第三方技术整合,springcloud有Zuul路由 网关,作为路由服务器,进行消费者的请求分发,springcloud支持断路器,分布式配置、消息跟踪、消息总线等等一系列的微服务架构要素。
五、微服务架构
"微服务”一词源于 Martin Fowler的名为 Microservices的博文,可以在他的官方博客上找到
http://martinfowler.com/articles/microservices.html
-
微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间一般通过 HTTP 的 RESTfuLAPI 进行通信协作。
-
被拆分成的每一个小型服务都围绕着系统中的某一项或些耦合度较高的业务功能进行构建,并且每个服务都维护着自身的数据存储、业务开发自动化测试案例以及独立部署机制。
-
由于有了轻量级的通信协作基础,所以这些微服务可以使用不同的语言来编写。