微服务常用框架

时间:2022-01-06 03:27:25

一、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