02【熟悉】springboot和微服务的介绍
1,springboot简介
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。
该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域(rapidapplication development)成为领导者。
2,为什么用springboot
创建独立的 Spring 应用程序
嵌入的 Tomcat,无需部署 WAR 文件
简化 Maven 配置
自动配置 Spring
提供生产就绪型功能,如指标,健康检查和外部配置
开箱即用,没有代码生成,也无需 XML 配置。
与云计算天然集成
3,特性理解
为基于 Spring 的开发提供更快的入门体验
开箱即用,没有代码生成,也无需 XML 配置。同时也可以修改默认值来满足特定的需求。
提供了一些大型项目中常见的非功能特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。
Spring Boot 并不是对 Spring 功能上的增强,而是提供了一种快速使用 Spring 的方式。
4,传统开发模式
所有的功能打包在一个 WAR包里,基本没有外部依赖(除了容器),部署在一个JEE容器(Tomcat,JBoss,WebLogic)里,包含了 DO/DAO,Service,UI等所有逻辑。
优点:
①开发简单,集中式管理
②基本不会重复开发
③功能都在本地,没有分布式的管理和调用消耗
缺点:
1、效率低:开发都在同一个项目改代码,相互等待,冲突不断
2、维护难:代码功功能耦合在一起,新人不知道何从下手
3、不灵活:构建时间长,任何小修改都要重构整个项目,耗时
4、稳定性差:一个微小的问题,都可能导致整个应用挂掉
5、扩展性不够:无法满足高并发下的业务需求
6、对服务器的性能要求要统一,要高
5,微服务开发
微服务:架构风格(服务微化)
微服务是指开发一个单个小型的但有业务功能的服务,每个服务都有自己的处理和轻量通信机制,可以部署在单个或多个服务器上,微服务也指一种松耦合的,有一定有界上下文的面向服务的架构
目的:有效的拆分应用,实现敏捷开发和部署
优点
1,每个微服务都很小,这样能聚焦一个指定的业务功能或业务需求
2,微服务能够被小团队开发,这个小团队2-5人就可以完成了
3,微服务是松耦合的,是有功能,有意义的服务,无论在开发阶段或部署阶段都是独立的
4,微服务可以使用不同的语言开发
5,微服务能部署在中低端配置的服务器上
6,很容易和第三方集成
7,每个服务都有自己的存储能力,单独的库,也可以有统一的库
缺点
1,微服务会带来过多的操作
2,可以有双倍的努力
4,分布式系统可能复杂难管理
5,分布跟踪部署难
6,当服务数量增加时,管理复杂度增加