使用WebServer远程执行方法是一个很好的架构决策吗?

时间:2017-06-22 09:51:22

标签: json performance jboss webserver load-balancing

我正在谈论的内容的一个非常小的解释如下所示。

  • 在我的组织中,负载分配的一种奇怪的努力是 实施后,我将尝试在下面解释。

  • JBoss服务器在一台IP xxx.xxx.xxx.xxx的机器上运行

  • 有一个应用程序有很多繁重的时间和资源消耗工作 要做的事情(在I / O操作方面很重要 - 大文件上传& 下载 - 以GB为单位)

  • 用Web和URL访问的Rest WebApp中编写的方法。参数 将方法作为URL params传递,设置为POST类型,返回值 作为JSON输出的方法。

  • 有问题的应用程序有一个框架,只是为了进行帖子调用 前面提到的WebApp很好地包装,以便调用 没有程序员知道后台发生了什么。

  • 此框架具有外部参数,其中包含IP 运行WebApps的计算机并配置此类列表 机器可用&将方法调用路由到最不忙的一个 每当调用框架的方法时。

一切看起来都不错,但我怀疑在http网络服务器&在那里做处理&在json中发送输出可能会减慢事情的速度。在发生故障时收集日志可能很难。

问题

我想知道其他程序员对此问题的看法。这是否是一个不错的方法。

在尝试分配负载时,任何现有的商业应用程序是否也遵循类似的内容?

1 个答案:

答案 0 :(得分:1)

在我看来,负载平衡的效率在于选择处理请求的正确节点的棘手过程。

通常的方法是监视必须承担负载并将负载发送到最不忙的节点的CPU使用率。这个过程应该准确有效。

在您的情况下,请求和转移Json数据应该是最不重要的事情,因为它们似乎是必需的活动和轻量级的。重点应放在负载平衡活动上。

回答评论

如果我理解正确,http方法服务器将处理来自中央应用程序的请求。它们不会进行负载平衡。必须有一个中央负载平衡机制/工具,必须决定哪个方法服务器将采取哪个请求。

所有方法服务器(从服务器)应该完全相同。这降低了可维护性工作,因为可以在一个节点上完成修复,并且可以将其传播到其他节点。这就是我在组织中的工作方式。

可能需要重复执行类似的操作,应用程序服务器可能会减少一些重复性。