gpt4 book ai didi

java - 用于在 SOA 环境中实现请求-响应类型应用程序的框架/协议(protocol)/工具

转载 作者:行者123 更新时间:2023-12-02 00:14:13 25 4
gpt4 key购买 nike

我正在构建一个 Web 应用程序,我想在其中分发代码到 UI、业务逻辑和数据库等各个层。以下是我想要的功能,解释了我的使用场景:

  • 实时高性能请求-响应型应用
  • 应用程序分为各个层,例如 UI、业务逻辑和数据库 - 每个层都在计算机集群上运行
  • 各层应支持负载平衡和故障转移功能,最好对其他交互层是透明的。
  • future 与各种语言的互操作性将是一项额外的理想功能
  • 这些层将驻留在我的组织内部,即我目前不打算与外部组织服务进行交互。

我尝试了 RMI,但缺点是 Java 锁定并且不支持负载平衡和故障转移功能。我考虑过JMS,但意识到尽管MOM的负载平衡、故障转移等功能非常诱人,但它对我来说似乎并不适合实时请求响应类型的应用程序(如果您认为我错了,请纠正我)。

请向我推荐最适合此用例场景的流行且合适的框架。

更新:
在探索 SOA 时,我遇到了两个突出的选项 SOAP 和 REST。正如我提到的,我必须在应用程序的模块/层之间内部使用的通信方法方面做出选择。当寻找快速请求响应和高可扩展性、负载平衡、故障转移场景时,它们之间是否有明显/流行的选择?我不打算将这篇文章转换为 REST 与 SOAP 讨论,但如果快速精简比较可以在这种情况下有所帮助。如果 SOA 中有我所缺少的第三种替代方案,我也愿意接受。来自现实世界部署场景的一些示例也会有所帮助。

最佳答案

实时和分布式有点成反比。

是的,基于 JMS 的解决方案更适合异步性,而不适合实时性。

对于您所设想的实现类型,分布式 SOA 服务(是的 Web 服务)解决方案似乎非常适合。服务在负载平衡的集群环境中运行,提供高可用性。取决于您需要多少实时时间。

也就是说,如果您不需要外部交互,那么运行直接部署并将 ui-service-dao/dal 层部署为应用程序服务器上的一个 bundle 会更加实时。您仍然可以使用支持 session 故障转移的集群节点来实现负载平衡和故障转移。这可能无法提供互操作性,但您可以在真正需要时提供一个包装器。

关于java - 用于在 SOA 环境中实现请求-响应类型应用程序的框架/协议(protocol)/工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12161847/

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