• SpringBoot和微服务的关系


    要知道微服务,就要先知道什么是单体应用。

    单体应用就是很多个功能都在一起打包和部署的应用,就像你练手的ssm项目一样,里面有很多很多的功能模块,比如订单模块,购物车模块,用户模块,支付模块,相当于一个箱子装了很多个苹果,每一个苹果就是一个功能模块。

    微服务就是将这些功能模块都从这个单体应用里面拆出来,拆出来的每个功能都独立的打包部署到不同的系统去,比如拆成订单微服务,采购微服务,财务微服务,收费微服务。类似于一箱苹果每个人去拿了一个,每个人就是系统,苹果就是功能模块也就是微服务。

    微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。

    拆开之后的各个微服务怎么调用呢?这时候就需要用到springcloud的或者dubbo的远程调用协议了,相当于每个人怎么去沟通就需要有一种沟通的语言,也就是普通话,普通话就是大家都遵守的协议。

    当然就得学习springcloud或者dubbo。

    那么这么多的微服务都是一个应用系统了,都需要去搭ssm吗?不需要使用ssm,那么多的配置,而且是重复配置和重复的搭建ssm不就麻烦了吗?所以这时候就使用到了springboot来解决ssm搭建应用时候大量的手工配置问题;所以springboot是一个快速搭建应用的框架,不是微服务,解决了ssm大量手工配置,不需要再去配置各种各样的文件了;直接一个springboot构建起来就可以运行了。

    所以,Spring Boot 和微服务没关系,SpringBoot只是一种快速应用开发框架,微服务是一种架构风格。

    Java 微服务治理框架普遍用的是 Spring Cloud。

    Spring Boot 产生的背景,是开发人员对 Spring 框架越来越复杂的配置吐槽越来越多,Pivotal 设计 Spring Boot 用来简化新 Spring 应用的初始搭建以及开发过程。正如题主感觉的,Spring Boot 在简化配置、打包和集成第三方工具方面确实做得很好,可以减低 Spring 开发人员的入门门槛。

    Spring Cloud 是 Pivotal 推出的基于Spring Boot的一系列框架的集合,旨在帮助开发者快速搭建一个分布式的服务或应用。Spring Cloud 由众多子项目组成,如Spring Cloud Config、Spring Cloud Netflix、Spring Cloud Consul等,提供了搭建分布式系统及微服务常用的工具,如配置管理、服务发现、服务容错、服务路由等。下图可以参考。

    参考:

    1、https://www.jianshu.com/p/236fc8778250,使用dubbo对传统单体应用进行改造。

    2、http://www.itcast.cn/news/20200410/1359230448.shtml,用springboot构建微服务。

    3、http://www.itcast.cn/news/20200318/1346504782.shtml,用springcloud做微服务注册和发现。

  • 相关阅读:
    ADF 第二篇:使用UI创建数据工厂
    ADF 第一篇:Azure Data Factory介绍
    pandas 学习 第14篇:索引和选择数据
    AppDomain X [DataBase.dbo[runtime], Y] is marked for unload due to memory pressure
    SSPI handshake failed with error code 0x8009030c
    Jupyter notebooks 安装和使用指南
    Security 13:SQL Server 默认的角色和用户
    评估分类模型的指标:召回率和精确率
    SQL Server 幽灵数据删除
    SQL Server 关于kill state
  • 原文地址:https://www.cnblogs.com/zhangzl419/p/13214796.html
Copyright © 2020-2023  润新知