一個歸檔包(可以是JAR、WAR、EAR或其它歸檔格式)包含所有功能的應用程序,通常稱爲單體應用。
而架構單體應用的方法論,就是單體應用架構。單體應用是將所有功能模塊放在一個單一進程中,並且通過在不同的服務器上面複製這個單體進行擴展。
優點
缺點
2014年Martin Fowler(馬丁福勒)提出微服務架構設計理念,全文可見自博客鏈接。其中有個段落:
In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.
簡單翻譯就是:微服務架構風格是將一個單一應用程序開發爲一組小型服務的方式,每個服務運行在自己的進程中,服務間通訊採用輕量級通訊機制(通常用HTTP資源API),這些服務圍繞業務能力構建並可通過全自動部署機制獨立部署。這些服務共用一個小型的集中式管理,服務可用不同的語言開發,使用不同的數據存儲技術。
SpringCloud 是個綜合項目,包含了很多子項目,由於子項目也維護着自己的版本,爲了避免與子項目的版本混淆,SpringCloud採用不同的版本命名方式,按照倫敦地址站字母順序進行發行版本。
詳細可見SpringCloud版本。
Release Train | Boot Version |
---|---|
Hoxton | 2.2.x |
Greenwich | 2.1.x |
Finchley | 2.0.x |
Edgware | 1.5.x |
Dalston | 1.5.x |
Greenwich builds and works with Spring Boot 2.1.x, and is not expected to work with Spring Boot 1.5.x.
The Dalston release train will reach end-of-life in December 2018. Edgware will follow the end-of-life cycle of Spring Boot 1.5.x. The Dalston and Edgware release trains build on Spring Boot 1.5.x, and are not expected to work with Spring Boot 2.0.x.
The Camden release train was marked end-of-life. The Camden release train builds on Spring Boot 1.4.x, but is also tested with 1.5.x.
The Brixton and Angel release trains were marked end-of-life (EOL) in July 2017. The Brixton release train builds on Spring Boot 1.3.x, but is also tested with 1.4.x. The Angel release train builds on Spring Boot 1.2.x, and is incompatible in some areas with Spring Boot 1.3.x. Brixton builds on Spring Boot 1.3.x and is similarly incompatible with 1.2.x. Some libraries and most apps built on Angel will run fine on Brixton, but changes will be required anywhere that the OAuth2 features from spring-cloud-security 1.0.x are used (they were mostly moved to Spring Boot in 1.3.0).
也可以訪問https://start.spring.io/actuator/info,查看SpringCloud與SpringBoot的版本兼容性。
不過最近 Spring Cloud 的版本貌似修改了版本命名方式,由YYYY.MINOR.MICRO
的形式進行命名。詳見Blog。
本文章通篇使用的 Spring Boot 版本爲2.3.0.RELEASE
, 而 Spring Cloud 版本爲Hoxton.SR4
。