WSO2 MSF4J 2.0 已增添了对 Spring、Swagger 定义生成、ExceptionMapper 以及 StreamingOutput 的支持。
WSO2 MSF4J 是一种通过 Java 构建微服务的开源框架。根据 WSO2 的介绍,该框架的内存痕迹可低至 25MB,启动时间不超过 400ms。该框架最近发布的 2.0 版包含诸多改进,例如:
- 支持 Spring 注解和运行时。现在可通过 Spring bean 编写微服务、拦截器(Interceptor),以及异常映射器(Exception mapper)。
- 可生成 Swagger 定义并支持 Swagger 注解。
- 支持用 ExceptionMapper 将微服务的异常连接至 HTTP 响应。
- 支持通过 StreamingOutput 让开发者控制如何将响应流回调用方。
WSO2 MSF4J 的一些主要功能包括:
- 使用 Java 注解定义微服务 API
- 支持 JAX-RS 和 JSR 250(注解)
- 与其他 WSO2 开发、部署、监控和缩放工具集成
- 与 WSO2 Data Analytics Server 集成
- 与 WSO2 Identity Server 集成
- 包含可出于多种目的(例如日志)捕获消息的 API 拦截器
- 通过 WSO2 DevStudio 执行的开发可通过 Swagger API 定义生成微服务项目
- 消息传输可通过 Netty 实现
- 请求可通过唯一的消息 ID 进行追踪
若要使用 MSF4J 创建微服务,开发者需要通过注解 Java 类以定义 API 端点,并使用 Runner 进行部署。最基本的 HelloWorld 示例是这样的:
@Path("/hello") public class HelloService { @GET @Path("/{name}") public String hello(@PathParam("name") String name) { return "Hello " + name; } }
可这样部署:
public class Application { public static void main(String[] args) { new MicroservicesRunner() .deploy(new HelloService()) .start(); } }
通过上述操作,下列 URL
curl http://localhost:8080/hello/world
就可以生成“Hello World”的响应。
使用 WSO2 MSF4J 创建的微服务可使用 Maven 构建并部署到 Docker 容器中。
评论