gpt4 book ai didi

java - 在 Oracle WebLogic Server 中针对外部服务器的常见做法是什么

转载 作者:太空狗 更新时间:2023-10-29 22:58:11 24 4
gpt4 key购买 nike

我们正在尝试提出一些接近于 WebLogic 中 JMS 资源目标的简单直接模型(我知道机会很大)。队列和主题可以轻松且非常直观地映射到运行在 WebLogic 服务器上的 JMS 服务器,但外部服务器及其中的资源似乎有点棘手。

首先,在 WLS 10.0 和 10.3 中,外部服务器不是在 JMS 服务器旁边定义的,而是作为 JMS 模块的成员定义的。其次,它们默认以定义它们的 JMS 模块的目标为目标,即 WLS 集群或 WLS 服务器,这与通过子部署以 JMS 服务器为目标的“非外部”资源不同。

但是,使用高级定位也可以在 JMS 服务器上定位外部服务器。这导致模型相对于外部/“非外部”JMS 资源更加对称。

Advanced Targeting http://dexter.xebialabs.com/Media/foreign_server_advanced_targeting.png

所以,问题是:

  1. 除了历史事故之外,是否有任何原因可以说明外部资源和“非外部”资源目标如此不同(WLS 集群或 WLS 服务器中默认的外部资源与 JMS 服务器中的非外部资源)?
  2. 针对国外和非国外资源是否有任何通用或最佳做法?
  3. 有什么理由不希望通过子部署在 JMS 服务器上定位外部服务器?

提前致谢!

安德鲁·菲利普斯

最佳答案

1) 国外的 JMS 服务器曾经被定义为一个独立的组件,类似于连接器、消息传递桥等。这些组件(历史上)直接以应用程序服务器或集群为目标,而不是像 JMS 服务器这样的中间组件。

在后来的版本中,Oracle 试图将内部和外部 JMS 合并到一个通用的保护伞下。但是,目标选项保持不同。为了提供 JMS 部分的灵 active ,引入了子部署。为了一致性,Oracle 似乎已将子部署扩展到外部服务器,使事情变得相当复杂/困惑。

我不会称之为意外,因为较新的版本一直符合此设置:)

2) 对于跨集群部署的应用程序,您需要为整个集群依次定义一个 JMS 模块。连接工厂的多个定义将扭曲 JMS 负载平衡。

我们的最佳实践围绕着为每个集群(或应用程序服务器,如果它不是集群的话)创建单个 JMS 模块,然后在同一个模块中创建外部服务器和 weblogic JMS 队列/连接工厂的标准。此外,为您的子部署和 JMS 模块制定良好的命名约定大有帮助。

3) 一旦您运行超过 16 个并发 MDB,外部服务器(尤其是使用 IBM MQ 的服务器)可能会遇到很多复杂的问题。我们避免了外部服务器 -> JMS 服务器 -> 托管服务器以减少额外的抽象层/复杂性,以保持配置更简单。您还可以降低外部服务器的异常被神秘的 JMS 服务器异常掩盖的风险(我没有任何证据证明这一点)。

一位队友曾经建议外国服务器 -> 应用服务器设置性能更高,但我们让 Oracle 的 A 团队确认这只是一个逻辑/美学变化,并不重要。

希望对您有所帮助!

关于java - 在 Oracle WebLogic Server 中针对外部服务器的常见做法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3246153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com