【问题标题】:Communication between databases with Java ee使用 Java ee 在数据库之间进行通信
【发布时间】:2019-08-10 16:49:59
【问题描述】:

我们的客户拥有 3 家具有不同数据库的商店。在每家商店都有一只野蝇在运行一些在它们之间进行通信的 web 服务。每个 10/30 行的 json 请求平均花费 1 秒。每只 Wildfly 使用 1.5 GB 的 RAM。我知道内存在 Java 中一直是个问题,但是使用 Javalin 或微服务之类的微框架而不是 java ee 应用服务器是否更经济?并且 node.js 会是更好性能的选择吗?

【问题讨论】:

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


    【解决方案1】:

    在您开始研究可能需要进行重大重写的不同架构之前,请先了解所有这些时间的去向。在 WildFly 服务器上设置分析。首先做一个,然后有一些调用进来。检查在堆栈的各个部分花费了多少时间。对 Web 服务的调用是否处理得相当慢?然后看看时间都去哪儿了。它可能是数据库访问。一个这样的呼叫一旦进入服务器本身就可以很快处理吗?那么你最好的选择就是在网络层浪费时间。

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

    最终,您可能需要同时在所有三台服务器上启用配置文件和网络跟踪,以查看发生了什么,或者查看两台服务器的每个组合。结果可能只有其中一个是瓶颈。如果您有服务器ABC,从它的声音来看,您的设置可能会导致从AB 的调用也需要从BC 之前的调用一些结果可以返回到A。如果是这种情况,难怪您可能会看到一些严重的延迟。

    但是,在您开始决定更改整个框架和不同的编程语言之前,先测量并找出问题的根源。否则,您可能会花很多时间在没有任何改进的事情上。如果架构存在根本缺陷,则需要考虑不同的方法。如果这仍处于原型设计阶段,那将容易得多。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-05
        • 1970-01-01
        • 2023-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多