zoukankan      html  css  js  c++  java
  • 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.

  • 相关阅读:
    控制流测试与条件测试
    12306的“短信公众号”到底是个啥?
    ISTQB名词辨析
    ISTQB TA
    启动Chrome时自动开启开发者模式
    LoadRunner Community Edition 12.60 无法获取Community License
    用言的活用声调变化规则
    ISTQB TTA大纲中提到的参考书目
    Java调用方法参数究竟是传值还是传址?
    Java中的Lambda表达式简介及应用
  • 原文地址:https://www.cnblogs.com/erfsfj-dbc/p/12162909.html
Copyright © 2011-2022 走看看