SpringCloud与微服务Ⅲ --- SpringCloud入门概述

一. 什么是SpringCloud

SpringCloud基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型的中立的开源组件。

SpringCloud利用Springboot的开发便利性巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等它们都可以利用SpringBoot的开发风格做到一键启动和部署。

SpringBoot并没有重复造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

总结:SpringCloud是分布式微服务下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶

 

二.SpringCloud与SpringBoot的关系

1.SpringBoot关注的是微观,它具体就是一个个的微服务,SpringCloud是宏观的,分布式微服务下的一站式解决方案。通俗的讲,SpringBoot是医院里的一个个科室,而SpringCloud是将这些科室组合起来的整体医院。

2.SpringBoot可以单独使用,不需要依赖SpringCloud,而SpringCloud必须依赖于SpringBoot。

3.SpringBoot专注于快速方便开发单个个体微服务。

4.SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来。

总结:SpringBoot专注于快速方便开发单个个体微服务,SpringCloud是关注全局的微服务协调整理治理框架。

 

三. Dubbo与SpringBoot对比(重点)

最大区别: Spring Cloud 抛弃了RPC通信,采用基于HTTP的REST方式。

严格来说两者各有优势。虽然从一定程度上来说,SpringCloud牺牲了服务调用性能,但是也避免了原生RPC带来的问题。而且REST比RPC更灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下,显得更加适合。

Spring Cloud的功能比Dubbo更为强大,涵盖更广,而且作为Spring的拳头项目,它也能够与Spring Framework、Spring Boot、Spring Data、Spring Batch等其他Spring项目完美融合,这些对于微服务是至关重要的。使用Dubbo构建的微服务架构就像组装电脑,各个环节由我们选择的自由度很高,但最终结果很有可能因为一条内存质量不行就点不亮了,总是让人不怎么放心,如果你是一名大牛,这些都不是问题。而SpringCloud就像是品牌机,在SpringCloud的整合下,做了大量的兼容性测试,保证了机器拥有更高的稳定性,但是如果要在使用非原装组件外的东西,就需要对其基础有足够的了解。

总结:Dubbo的定位始终是一款RPC框架,而Spring Cloud的目标是微服务架构下的一站式解决方案。

 

四.SpringCloud学习链接

1.各个组件对应的文档

2.SpringCloud 中文社区

3.SpringCloud中文网

 

posted @ 2019-02-12 11:08  薛定谔病态猫  阅读(358)  评论(0编辑  收藏  举报