首页 > 其他分享 >SripingBoot 启程

SripingBoot 启程

时间:2023-03-31 17:58:02浏览次数:69  
标签:功能 服务 Spring 架构 SripingBoot 应用 spring 启程

微服务论文(软实力)

微服务(Microservices)——Martin Flower - 船长&CAP - 博客园 (cnblogs.com)

SpringBoot官方学习文档:https://spring.io/projects/spring-boot

1、Spring

Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。

Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。

1.1、Spring如何简化Java开发

为了降低Java开发的复杂性,Spring采用了以下4种关键策略:

  • 基于POJO的轻量级和最小侵入性编程,所有东西都是bean;

  • 通过IOC,依赖注入(DI)和面向接口实现松耦合;

  • 基于切面(AOP)和惯例进行声明式编程;

  • 通过切面和模版减少样式代码,RedisTemplate,xxxTemplate;

1.2、什么是SpringBoot

就是一个javaweb的开发框架,和SpringMVC类似,对比其他javaweb框架的好处,官方说是简化开发,约定大于配置, you can “just run”,能迅速的开发web应用,几行代码开发一个http接口。


Spring Boot 基于 Spring 开发,Spirng Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。也就是说,它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。Spring Boot 以约定大于配置的核心思想,默认帮我们进行了很多设置,多数 Spring Boot 应用只需要很少的 Spring 配置。同时它集成了大量常用的第三方库配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz 等等),Spring Boot 应用中这些第三方库几乎可以零配置的开箱即用。

简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架 。

1.3、Spring Boot主要优点:

  • 为所有Spring开发者更快的入门
  • 开箱即用,提供各种默认配置来简化项目配置
  • 内嵌式容器简化Web项目
  • 没有冗余代码生成和XML配置的要求

2、微服务

2.1、什么是微服务

微服务是一种架构风格,它要求我们在开发一个应用的时候,这个应用必须构建成一系列小服务的组合;可以通过http的方式进行互通,要说微服务架构,先得说说过去的单体应用架构。

2.2、单体应用架构

所谓单体应用架构(all in one)是指,我们将一个应用中的所有应用服务都封装在一个应用中。

无论是ERP、CRM或是其他什么系统,你都把数据库访问,web访问,等等各个功能放在一个war包内。

  • 这么做的好处是,易于开发和测试;也十分方便部署;当需要扩展时,只需把war复制多份,然后放到多个服务器上,再做个负载均衡就可以了。
  • 单体应用架构缺点是,哪怕我要修改一个非常小的地方,我都需要停掉整个服务,重新打包、部署这个应用war包。特别是对于一个大型应用,我们不可能把所有内容都放在一个应用里,我们如何维护、如何分工合作都是问题。

2.3、微服务架构

all in one 的架构方式,我们把所有的功能单元放在一个应用里面。然后我们把整个应用部署到服务器上。如果负载能力不行,我们将整个应用进行水平复制,进行扩展,然后在负载均衡。

所谓微服务架构,就是打破之前all in one的架构方式,把每个功能元素独立出来。把独立出来的功能元素的动态组合,需要的功能元素才去拿来组合,需要多一些时可以整合多个功能元素。所以微服务架构是对功能元素进行复制,而没有对整个应用进行复制。

这样做的好处 :

  • 节省了调用资源
  • 每个功能元素的服务都是一个可替换的、可独立升级的软件代码。

2.4、如何构建微服务架构

一个大型系统的微服务架构,就像一个复杂交织的神经网络,每一个神经元就是一个功能元素,它们各自完成自己的功能,然后通过http相互请求调用。比如一个电商系统,查缓存、连数据库、浏览页面、结账、支付等服务都是一个个独立的功能服务,都被微化了,它们作为一个个微服务共同构建了一个庞大的系统。如果修改其中的一个功能,只需要更新升级其中一个功能服务单元即可。
​ 但是这种庞大的系统架构给部署和运维带来很大的难度。于是,spring为我们带来了构建大型分布式微服务的全套、全程产品:

  • 构建一个个功能独立的微服务应用单元,可以使用springboot,可以帮我们快速构建一个应用
  • 大型分布式网络服务的调用,这部分由spring cloud来完成,实现分布式
  • 在分布式中间,进行流式数据计算、批处理,我们有spring cloud data flow。
  • spring为我们想清楚了整个从开始构建应用到大型分布式应用全流程方案。

标签:功能,服务,Spring,架构,SripingBoot,应用,spring,启程
From: https://www.cnblogs.com/zhongjianYuan/p/17277038.html

相关文章

  • 性能测试-ulimit命令说明与用法-强相关u和n参数-修改后得重启程序
    1、ulimit命令与显示说明ulimit是一种Linux系统的内建功能,它具有一套参数集,用于为由它生成的shell进程及其所创进程的资源使用限制。-a:显示目前资源限制的设定;-c......
  • renpy启程
    将Ren'Py的语法突出显示和摘要添加到VisualStudioCode中。Ren'PyLanguage-VisualStudioMarketplace 明明支持ogg和wav格式,但是除了mp3都播放不了,什么毛病 ......
  • systemd服务管理后台进程程序(编写systemd开机自启程序)
    【干货】Linux使用Systemd管理进程服务点击关注......
  • 启程
    写于十七岁的最后一天我曾经想过很多次成年了意味着什么,然而对现在的我来说,不过是腾讯的防沉迷解除,公交卡不再享受五折优惠,以及终于被父母允许喝酒我也曾幻想过这一晚会......
  • 启程
    大家好,我的名字叫楠诠(网名),现在在徐州工程学院读本科,大一。专业是人工智能(......)在经历了大一上学期的C语言和python不学无术后,我决定不再颓废下去了。虽然现在我还什么都还......
  • 优雅启程,Max Mara元宇宙展馆登陆希壤
     70年独特的品牌历史与文化,将通过全新的数字化方式在中国市场创新演绎,追随创新又不被潮流所左右,MaxMara将于8月12日至8月28日期间,用数字孪生技术在云端投射其线下的数字展......
  • 预见未来,智舱测试全新启程
        随着汽车四化(网联化、智能化、共享化、电动化)的不断发展,智能座舱再汽车领域的地位越来越重要,技术发展也日新月异。自2019年以来,座舱域控制器及SOA架构的产品......
  • MyBatis-Plus【启程篇】
    Mybatis-Plu只为增强而生​​一、初始MyBatis-Plus​​​​二、如何使用​​​​1、环境准备​​​​2、新建数据库​​​​3、新建SpringBoot项目,并前期工作​​​​4、编......