1.SpringCloud是什么?
- SpringCloud是微服务系统架构的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶。
- 在平时我们构建微服务的过程中,需要做如服务发现注册、配置中心、负载均衡、断路器、数据监控等操作。
- SpringCloud为我们提供了一套简易的编程模型,使我们能在SpringBoot 的基础上轻松地实现微服务项目的构建。
2.什么是分布式?
- 将各个组件(服务)分开部署,某个组件占一个服务器,互相独立,相互调用,可以将组件的功能发挥到最大。
- 一个业务拆分成多个子业务,部署在不同的服务器上(虽然运行在不同的服务器上,运行着不同的业务代码,但最终的目的一样。彼此合作,完成父业务)
//优点:
- 子业务之间独立,各做各的事,便于扩展,复用性高。
- 高吞吐量。某个业务需要一个机器运行20个小时,将该业务用10台机器分布式跑。(将这个业务拆分成10个子业务),可能2h就跑完了。
3.什么是集群?
同一个业务,部署在多个服务器上(不同的服务器运行同样的代码,干同一件事)
//优点:
- 通过多台计算机完成同一个工作,达到更高的效率。
- 两机或多机内容、工作过程完全相同。如果一台死机,那么另一台机器可以继续完成任务。
4.分布式与集群的关系?
- 分布式和集群并不冲突,可以有分布式集群。
//我们可以把java,前端,测试看成是分布式,把都在做java的看成是集群。
5.什么是微服务?
- 微服务,从字面意思来看就是:很小的服务。小到一个服务只对应一个单一的功能,只做一件事。
- 将一个大的项目,按照需求(业务服务)模块拆解成一个个独立的小模块(微服务),然后独立部署,它们之间独立又互相调用。
6.SpringBoot和SpringCloud的关系?
- SpringBoot专注于快速、方便的开发单个微服务个体,SpringCloud关注全局的服务治理框架。
- 区别:SpringBoot可以离开SpringCloud独立开发项目,但是SpringCloud离不开SpringBoot,属于依赖的关系。
7.SpringCloud的基础功能
- 服务注册与发现:Eureka、Nacos
- 客户端负载均衡:Ribbon
- 服务熔断与降级:Hystrix
- 声明式服务远程调用:Feign
- API网关服务:Gateway
- 分布式配置中心:Nacos
- ...