spring,springboot,springcloud之间的区别

spring

核心功能:ioc、Aop、Di、注解式编程、提供了一种兼容以及支持外部插件的功能

优点:代码解耦、功能的横向扩展性、强大的第三方中间件的兼容性、轻量

spring boot

基于spring之上,“约定优于配置”的核心理念,将传统大量的bean注入的配置及框架的配置转化为更简洁可维护的配置方式,yml或properties文件

约定优于配置的体现主要是

1. maven 的目录结构

  a) 默认有 resources 文件夹存放配置文件

  b) 默认打包方式为 jar

2. spring-boot-starter-web 中默认包含 spring mvc 相关 依赖以及内置的 tomcat 容器,使得构建一个 web 应用 更加简单

3. 默认提供 application.properties/yml 文件

4. 默认通过 spring.profiles.active 属性来决定运行环境时 读取的配置文件

5. EnableAutoConfiguration 默认对于依赖的 starter 进行 自动装载

spring cloud

构建微服务架构(分布式之上)的技术体系

官方的解释是:spring cloud 提供了一些可以让开发者快速构建分布式应用的工具,这些服 务可以很好的工作在任何分布式环境下。

微服务应用的组成部分

01 网关

客户端发起一个服务请求时,先到达网关,有利于在网关层进行统一鉴权、认证、实现限流、请求日志统一记录、灰度发布、减少客户端的调用频次。

02 服务的通信和服务发现

服务拆分后将涉及到服务与服务的远程通信,使用http或rpc等协议,另外需要对服务的统一管理也是必不可少,需要加入服务发注册中心来实现服务的注册和发现功能。

03 负载均衡

当有多个服务提供的节点,需要负载均衡的机制,来实现客户端请求的分发。

04 熔断、限流、降级

熔断:当服务不可用时,后来的请求应将其熔断(停止后续服务),否则导致整个应用雪崩。

限流:设置最大请求数量,或用队列

降级:当整个系统的负载确实过高时,可以将某些功能降级,以保证核心功能正常工作。

05 统一配置中心

便于统一管理和维护配置

在spring cloud 中对应的基础设施功能实现由哪些技术支持呢?

1. 服务注册发现

  Eureka/Consoul/zookeeper

2. 远程服务调用

  远程调用基于 RestTemplate 针对 http 协议调用的封装

3. 负载均衡

  负载 均衡采用 Ribbon

4. 断路器

  断路器采用 hystrix;

5. 分布式消息

  分布式消息基于 kafka、rabbitMQ

6. 配置中心

  配置中心基于 config;

7. 链路监控

  链路监控基于 sleuth.

猜你喜欢

转载自www.cnblogs.com/erfsfj-dbc/p/12162909.html