zoukankan      html  css  js  c++  java
  • 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做微服务注册和发现。

  • 相关阅读:
    eclipse下c/cpp " undefined reference to " or "launch failed binary not found"问题
    blockdev 设置文件预读大小
    宝宝语录
    CentOS修改主机名(hostname)
    subprocess报No such file or directory
    用ldap方式访问AD域的的错误解释
    英特尔的VTd技术是什么?
    This virtual machine requires the VMware keyboard support driver which is not installed
    Linux内核的文件预读详细详解
    UNP总结 Chapter 26~29 线程、IP选项、原始套接字、数据链路访问
  • 原文地址:https://www.cnblogs.com/zhangzl419/p/13214796.html
Copyright © 2011-2022 走看看