微服务常用框架
一、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等开发。