1. 程式人生 > >微服務常用框架

微服務常用框架

一、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等開發。

 訪問地址為:https://github.com/Netflix/karyon