使用Java ee

时间:2019-03-20 03:39:11

标签: java web-services java-ee wildfly microservices

我们有一个客户,该客户具有3个商店,这些商店的数据库不同。在每个商店中,都有一个运行一些Web服务的Wildfly,它们之间进行通信。每个具有10/30行的json请求平均花费1秒。每个野蝇都使用1.5 gb的RAM。我知道内存一直是Java的问题,但是我可以使用Javalin或微服务之类的微框架而不是Java ee应用服务器来更经济吗?而node.js将是提高性能的一种选择?

2 个答案:

答案 0 :(得分:2)

在开始研究可能需要进行大量重写的其他体系结构之前,请先确定所有时间在哪里。在WildFly服务器上设置性能分析。首先,进行一次操作,然后打入一些电话。检查在堆栈的各个部分花费了多少时间。对Web服务的一次呼叫处理得是否很慢?然后看看时间到了。可能是数据库访问。一旦这样的呼叫进入服务器,它很快就能在服务器上进行处理吗?那么最好的选择就是在网络层上的失败时间。

检查网络流量。您可以为此使用Wireshark或类似的跟踪工具。查看从发出请求到发出响应之间实际经过了多少时间。那慢吗,但是对Wildfly本身的处理似乎足够快?可能会产生一些开销(例如安全性)。请求和响应之间的时间是否很快?您肯定是将网络视为罪魁祸首。

最终,您可能需要同时在所有三台服务器上同时启用概要分析和网络跟踪,以查看发生了什么情况或针对两台服务器的每种组合情况。可能只有其中之一是瓶颈。而且,如果您有服务器ABC,那么从设置的声音来看,您的设置可能会导致从AB的呼叫也需要一个从BC的调用,然后才能将某些结果返回到A。如果是这种情况,也就不足为奇了。

但是,在开始决定更改整个框架和其他编程语言之前,请先测量并找到问题的根源。否则,您可能会花很多时间根本无法改善。如果架构存在根本缺陷,则需要考虑其他方法。如果仍然处于原型制作阶段,那将容易得多。

答案 1 :(得分:0)

好吧,首先您可以修剪WildFly安装或尝试Quarkus:)