SOA、微服务、Spring Cloud、Spring Boot的区别
-
SOA:面向服务体系架构(Service-Oriented Architecture),基于分布式思想,侧重点在于提取核心服务,减少代码冗余,增加业务代码复用,解决信息孤岛等一些问题。
-
微服务:基于SOA架构的更细粒度的服务思想,侧重点在于服务解耦。
-
Spring Cloud:是Spring提供的一套微服务标准,Spring Cloud生态能够帮助开发者快速构建分布式应用,同时提供了分布式应用常见的一些问题解决方案,包括spring自主开发的及第三方解决方案。
-
Spring Boot:是spring提供的,能够帮助开发者快速构建独立的,基于Spring的应用程序。基于约定大于配置的思想,自动配置,应用程序只需要很少的Spring配置即可。提供应用程序监控和外部化配置功能。
spring boot官网文档翻译:
Spring boot介绍
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.
Spring Boot可以轻松创建可以运行的独立的,生产级的基于Spring的应用程序。
We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.
我们对Spring平台和第三方库采取自己的看法,以便您尽可能轻松地使用本教程。大多数Spring Boot应用程序只需要很少的Spring配置。
Features
-
Create stand-alone Spring applications
创建独立的spring应用
-
Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
嵌入式Tomcat,Jetty or Undertow(不需要部署war包)
-
Provide opinionated ‘starter’ dependencies to simplify your build configuration
提供指定的启动器依赖,简化构建配置
-
Automatically configure Spring and 3rd party libraries whenever possible
自动配置Spring和第三方库
-
Provide production-ready features such as metrics, health checks and externalized configuration
提供生产运维功能,例如诊断、运行健康状况监测和外部化配置
-
Absolutely no code generation and no requirement for XML configuration
完全没有代码生成,也不需要XML配置