36d6936172a4dcc14426cdf0041f3357.png

一、Spring Boot 介绍

简介:

Spring Boot是由Pivotal团队提供的全新框架 ,其设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用特定的方式来进行配置,从而使开发人员不在需要定义样板化的配置。

在Spring4.0之前,J2EE开发,搭建一个smm框架是相当麻烦,maven导入一堆的jar包,各种配置文件,部署好环境等等,稍微出点错,项目就无法启动。springboot 出现之后,就简化了整个后端项目开发的搭建,减少了很多配置。springboot 整合其他spring类技术栈,来简化Spring应用开发,约定大于配置,去繁从简,只要run就能创建一个独立的,产品级别的应用。

优点:

  • 大量的自动配置,简化开发,可修改默认值;
  • 快速创建独立运行的Spring项目以及与主流框架集成;
  • 使用嵌入式的Servlet容器,应用无需打成war包;
  • 无需配置xml,无代码生成;
  • starters自动依赖与版本控制;
  • 准生产环境的运行时应用监控;
  • 与云计算的天然集成。

二、微服务

单体应用模式和微服务模式

f56d1bab64a24458434ebfc23cd07d06.png

图片来源:https://martinfowler.com/articles/microservices.html

单体应用:

以前我们开发一个应用, 就会把像OA、CRM、ERP放到一个应用里面开发,然后打成war包,部署到服务器,连接数据库提供页面数据,整个应用就可以运行,这是我们传统的一个架构模式。

优点:

  • 开发测试简单,只是一个应用,不需要进行联调等一些模式。
  • 部署也简单,整个打成一个war包,部署到服务器上就可以,不会对运维造成复杂问题。

缺点:

  • 整个项目看起来很臃肿,添加修改项目麻烦,牵一发而动全身,而现在很多项目需要添加各种各样的功能,所以操作起来很痛苦。
  • 需要通过多个服务器 上复制这个单体进行拓展,来解决负载均衡问题。

微服务:

微服务架构就是把每个功能元素放进一个独立的服务中。并且通过跨服务器分发这些服务进行拓展,只是在需要的时候才复制,也就是说如果只需要某几个功能,则只复制所需的几个独立服务。每一个功能元素最终都是一个可独立替换和独立升级软件单元。但是它给运维和部署带来了很大的挑战。

微服务架构图

91bacbf1d99ab0015aff0881db984e9d.png

注:每一个小圆圈表示不同的功能服务。

如果读完觉得有收获的话,欢迎点【在看】,关注公众号【溪言堃】,查看完整文章,及时获得精彩推送!!!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐