springboot微服务的开发利器是什么
这期内容当中小编将会给大家带来有关springboot微服务的开发利器是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
一、微服务和微服务架构
1.1)什么是微服务
把一个单一的应用程序划分为一组小 的服务,每个小的服务都会运行在自己的进程中,服务之间通过轻量级的通信机制(http的rest api)进行通信,那么 一个个的小服务就是微服务。传统的的单一电商应用来说,订单,支付,用户,商品,库存等模块都在一个项目中,若某一个模块出 现线上bug,会导致整个版本发布回退. 若把单一应用拆分为一个一微服务,比如订单微服务,用户微服务,商品微服务,积分微服务等,若某 一个微服务出错不会导致整个版本回退。
1.2)什么是微服务架构
微服务架构是一种架构模式(用于服务管理微服务的),它把一组小的服务互相协调、互相配合,并且 完成功能。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相协作(通常是基 于HTTP 协议的RESTfulAPI )。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境
1.3)微服务的优点
①:每个服务足够内聚,足够小,代码容易理解这样能聚焦一个指定的业务功能或业务需求(职责单 一)
②:开发简单、开发效率提高,一个服务可能就是专一的只干一件事,微服务能够被小团队单独开发,这 个小团队是 2 到 5 人的开发人员组成。
③:微服务能使用不同的语言开发。
④:易于和第三方集成,微服务允许容易且灵活的方式集成自动部署,通过持续集成工具,如 Jenkins,Hudson,bamboo。
⑤:微服务只是业务逻辑的代码,不会和 HTML,CSS或其他界面组件混合。
⑥:每个微服务都有自己的存储能力,可以有自己的数据库。也可以有统一数据库。
1.4)微服务的缺点
①开发人员要处理分布式系统的复杂性(分布式事物)
②:多服务运维难度,随着服务的增加,运维的压力也在增大
③:系统部署依赖
④:服务间通信成本
⑤:数据一致性
二、springboot的认识
2.1)优点
①、springboot 能在最小的阻力下,自动配置消除了传统Spring应用程序里的很多样板配置,不用在spring的配置上花更多的功夫,甚至完全不用配置,更加专注于应用程序的功能,spring虽然在2.5加入了注解扫描,但是还是需要少量的spring的配置。
②、起步依赖,需要什么功能,自动引入相关的类库。提供众多的起步依赖,降低了项目依赖的复杂度。根据依赖的传递,面对版本冲突和兼容的问题,方便管理
③、内嵌tomcat,jetty容器,不用打war包,放到容器里执行,直接java -jar xx.jar可启动项目
④、Actuator 检视应用程序状态(健康检查)
2.2)缺点
①、springboot内部对jsp的支持并不是特别理想,而springboot推荐的视图是Thymeleaf
②、虽然springboot减少了一些配置,但实际上是使用了更多的注解在相应的配置类上,这样导致相对于之前更难的理解出组件的依赖关系和加载的原理
③、starter类似一个可拔插的插件,对maven的依赖做了封装,对版本做了控制,对于初学者想要了解原理提升了难度
三、springboot构建项目需要引入的依赖
3.1)引入spring-boot-starter-parent,spring-boot-starter-parent中的spring-boot-dependencies是来控制版本的,我们引入里面有的依赖不需要写版本号,如果没有自然要写版本号
3.2)spring-boot-starter-web 里面依赖了spring-web和webmvc等web开发需要的一些依赖
上述就是小编为大家分享的springboot微服务的开发利器是什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。