1.springColud介绍
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。对熟悉spring的程序员来说,上手比较容易。
特点
官方文档:Spring Cloud;
在 Spring Boot 基础之上构建,用于快速构建分布式系统的通用模式的工具集;
集大成者,Spring Cloud 包含了微服务架构的方方面面;
约定优于配置,基于注解,配置文件少;
轻量级组件、开发简便、灵活;
项目结构复杂,每一个组件或者每一个服务都需要创建一个项目;
部署门槛高,项目部署需要配合 Docker 等容器技术进行集群部署;
2.springCloud常用服务
注册中心:
Eureka:2018年Eureka2.x闭源,不再推荐使用,但本文将通过Eureka进行讲解
Zookeeper : 3年前的系统部分公司用zookeeper+dubbo做微服务,当然zookeeper也可以作为springcloud的注册中心,可以使用
consul : go语言编写的优秀的注册中心组件,可以使用Nacos
: 阿里巴巴开发的注册中心,完美替换Eureka,能承受百万级并发量的注册,强烈推荐使用;
负载均衡:Netflix Ribbon(2020 版本前)、Spring Cloud Loadbalancer(2020 版本后);
熔断器:Netflix Hystrix(2020 版本前)、Resilience4j(2020 版本后);
声明式服务调用组件:Feign(最初属 Netflix 公司,后来移交给 OpenFeign 组织);
网关:Netflix Zuul(2020 版本前)、Spring Cloud Gateway(2020 版本后);
配置中心:Spring Cloud Config;
事件、消息总线:Spring Cloud Bus;
安全组件:Spring Cloud Security;
3.注册中心:Eureka(nacos类似)
-
Spring