代码人生

如何为微服务选择REST框架

代码人生 http://www.she9.com 2018-10-12 17:17 出处:网络 编辑:@技术狂热粉
每个行业都会经历变化,变化是不可避免的。为了适应变化和交付,我们需要使用正确的工具,因此我们必须查看市场上或软件行业开源领域中现有工具的性能。性能是:对于特定数量的请求,系统需要多少时间来响应。让我们

每个行业都会经历变化,变化是不可避免的。为了适应变化和交付,我们需要使用正确的工具,因此我们必须查看市场上或软件行业开源领域中现有工具的性能。性能是:对于特定数量的请求,系统需要多少时间来响应。


让我们比较一下几个开源的RESTful框架对大量请求的响应时间。Jersey和Resteasy被选为服务器端RESTful服务。独立的服务如Spring Boot、Javalin和Spark Java也被选中。客户端服务选择了Jersey、OkHTTP和Unirest。


这里使用了非常简单的代码,其中包括 java.home value、一个普通的Java字符串消息、当前时间和服务类型(Jersey、Resteasy,等等),这也是一个Java字符串。"java.home" 的值给出了JDK的使用情况。在这里,我使用了JDK 8。

@GET
public String getData() {
  JSONObject data = new JSONObject();
  data.put("javaHome", System.getProperty("java.home"));
  data.put("data", "Hello World!");
  data.put("time", LocalTime.now());
  data.put("serviceProvider", "Resteasy");
  return data.toString();
}

每个RESTful服务在一个循环中被三个不同的RESTful客户机调用1000次,结果显示在柱状图中。图表显示了不同服务器和客户端服务以微秒计算的时间。

如何为微服务选择REST框架

如何为微服务选择REST框架

如何为微服务选择REST框架

三个图显示了框架性能在不同时间如何变化的透视图。上面的图表还展示了关于REST框架在服务器端和客户端性能的一些想法。从时间性能上看,Spring Boot 2.0是最好的,Jersey客户机是最差的。与普通的REST框架(如Jersey、Resteasy和Spring Boot)相比,Javalin和Spark等独立框架运行缓慢。像OkHTTP和Unirest这样的客户端框架在性能方面是相似的。


尽管有上述结果,但每个框架都有自己的优点和缺点。像Spark和Javalin这样的独立REST框架很容易实现,而且不局限于任何技术栈,比如Spring Boot.Jersey和Resteasy有定制的优势。


请关注公众号:程序你好
0

上一篇:

没有了 :下一篇

精彩评论

暂无评论...
验证码 换一张
取 消