一、什么是SpringCloud
Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,它也是分布式架构的一种,准确的说,SpringCloud并不是发明了一个什么,而是把全球开源的微服务技术做了一个整合,从而形成了一个完整的微服务体系,功能是比较完善的。它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。
Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的开发便利性简化了分布式系统的开发,比如服务发现、服务网关、服务路由、链路追踪等。Spring Cloud 并不重复造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,进行封装,从而减少了各模块的开发成本。换句话说:Spring Cloud 提供了构建分布式系统所需的“全家桶”。
二、SpringCloud优缺点
微服务的框架那么多比如:dubbo、Kubernetes,为什么就要使用Spring Cloud的呢?
优点:
- 组件丰富,功能齐全。Spring Cloud 为微服务架构提供了非常完整的支持。例如、配置管理、服务发现、断路器、微服务网关等;
- 微服务可以是跨平台的,可以用任何一种语言开发
- 开发简便,Spring Cloud 对各个组件进行了大量的封装,从而简化了开发。
- 约定优于配置,基于注解,没有配置文件。
- 开发灵活,Spring Cloud 的组件都是解耦的,开发人员可以灵活按需选择组件。
缺点:
- 项目结构复杂,每一个组件或者每一个服务都需要创建一个项目。
- 部署门槛高,项目部署需要配合 Docker 等容器技术进行集群部署,而要想深入了解 Docker,学习成本高。
三、SpringCloud注册中心
- Euraka:注册中心
Euraka是Spring Cloud集合中一个组件,它是对Euraka的集成,用于服务注册和发现。Eureka是Netflix中的一个开源框架。它和 zookeeper、Consul一样,都是用于服务注册管理的,同样,Spring-Cloud 还集成了Zookeeper和Consul。在项目中使用Spring Cloud Euraka的原因是它可以利用Spring Cloud Netfilix中其他的组件,如zull等,因为Euraka是属于Netfilix的。
- Nacos:注册中心(功能更丰富,Alibaba产品)
国内用的比较多的是Nacos,Nacos是服务注册中心和服务配置中心,Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。总结就是,Nacos提供三种功能:服务发现及管理、动态配置服务、动态DNS服务。 Nac