一、Spring-Cloud
1、Spring-Boot
Spring Boot是希望通過注解(Annotation),來解決Spring配置文件較多的問題,從而能像Python的Flask、Ruby的Rails那樣快速搭建Web應用,尤其是REST API的原型.
從Spring Boot項目名稱中的Boot就可以看出來,Spring Boot的作用在於創建和啟動新的基於Spring框架的項目。Spring Boot會選擇最適合的Spring子項目和第三方開源庫進行整合。大部分Spring Boot應用只需要非常少的配置就可以快速運行起來。Spring Boot包含的特性如下:
- 創建可以獨立運行的Spring應用。
- 直接嵌入Tomcat或Jetty服務器,不需要部署WAR文件。
- 提供推薦的基礎POM文件來簡化Apache Maven配置。
- 盡可能的根據項目依賴來自動配置Spring框架。
- 提供可以直接在生產環境中使用的功能,如性能指標、應用信息和應用健康檢查。
- 沒有代碼生成,也沒有XML配置文件。
- 服務發現和智能路由
微服務中的新秀,內置tomcat和jetty等多種服務器,使用Spring MVC作為骨架,jackson/gson等作為json解釋,自研集成健康檢查監控,支持Freemarker、Thymeleaf、Mustache等多種模型引擎。
訪問地址為:https://projects.spring.io/spring-boot
2、Spring-Cloud
Spring Cloud是一個基於Spring Boot實現的雲應用開發工具,它為基於JVM的雲應用開發中的配置管理、服務發現、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分布式會話和集群狀態管理等操作提供了一種簡單的開發方式。
Spring cloud 是分布式開發的解決方案,基於spring boot,在spring boot做較少的配置,便可成為 spring cloud 中的一個微服務。
另外,Spring-Cloud社區鏈接為:http://springcloud.cn/和http://bbs.springcloud.cn
二、Dropwizard
內置服務器jetty,使用jersey作為骨架,jackson作為json解釋,Metrics作為健康檢查庫,支持Freemarker和Mustache模型引擎。
訪問地址為:http://www.dropwizard.io/
三、Netflix
內置服務器jetty,使用jersey作為骨架,jackson/gson等作為json解釋,Hystrix作為健康檢查庫,支持Freemarker模型引擎。使用RxNetty支持tcp服務器開發,WebSocket等開發。