spingboot和springcloud简记

spring boot和ssm是相通的,ssm的用法在spring boot上是一样的,它有两个最大的特点:

  • 内置tomcat
  • 大量精简配置文件

springboot打包之后是个jar,只用了一个main方法启动。

对于前后端分离的项目,springboot是非常适合的。

spring cloud是多个springboot工程的集合,适用于分布式的工程。

springcloud 属于微服务的范畴,什么是微服务?可以表述如下:

  微服务架构是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常是http),这些服务围绕业务能力构件并且可以通过全自动部署机制独立部署,这些服务公用一个最小型的集中式的配置管理,服务可用不同的语言开发,使用不同的数据存储技术。  

  微服务相比单体应用无疑是有着显著优点的,但也并发完美,它有以下优点:

  1. 易于开发和维护:一个微服务只关注某个特定的业务,所以业务清晰,代码简洁,整个应用由若干个微服务构建,因此应用也被维持在一个可控状态。
  2. 单个微服务启动快
  3. 局部修改容易部署:一般来说,都某个微服务修改,只需要重新部署这一个就可以。
  4. 技术栈不受限:每个微服务可以根据业务和团队的特点,合理选择不同的技术栈。
  5. 按需伸缩:根据需求,实现细粒度的扩展。例如:某个微服务性能遇到瓶颈,可以针对这个特定微服务,增加cpu,内存或扩展节点。

  但微服务的使用也会带来一些挑战:

  1. 运维要求较高:更多的服务意味着更多的运维投入。在单体架构中,只需要保证一个应用正常运行即可,而在为服务中,需要保证几十甚至几百个服务的正常运行和协作。
  2. 分布式固有的复杂性:微服务是一个分布式的系统,它对系统容错、网络延迟、数据一致性、分布式事务都有着更多的要求。
  3. 接口调整成本高:微服务之间使用接口进行通信,如果修改某一个微服务的api,可能所有使用该接口的微服务都需要做出调整。
  4. 重复劳动:很多服务会使用到相同的功能,如果这个功能没有分解为一个微服务,可能多个服务都要重复开发这一功能,导致代码重复。

springcloud的特点:

  • 约点优于配置
  • 适用于各种环境。开发部署在Pc或各种云环境
  • 隐藏了组件的复杂性,提供了声明式、无xml的配置方式
  • 开箱即用,功能齐全。
  • 选型中立、丰富。例如,springcloud支持使用eureka、zookeeper、consul实现服务发现
  • 灵活。springcloud的组成部署是解耦的,开发人员可按需灵活挑选技术选型。
原文地址:https://www.cnblogs.com/loveBolin/p/9900112.html