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配置