我正在构建一个web应用程序,在其中我希望在UI、业务逻辑和数据库等不同层中分发代码。下面是我想要的一些特性,它们解释了我的使用场景:
我尝试了RMI,但缺点是Java锁定,不支持负载平衡和失败的特性。我考虑过JMS,但意识到尽管负载平衡、MOM的故障转移等特性非常诱人,但它似乎不适合于实时请求-响应类型的应用程序(如果您认为我错了,请纠正我)。
请建议我在这个用例场景中最适合的流行的、合适的框架。
更新:
在探索SOA时,我遇到了SOAP和REST这两个突出的选项。正如我提到的,我必须选择一种内部在应用程序中的模块/层之间使用的通信方法。在寻找快速请求响应和高可伸缩性、负载平衡、故障转移场景时,它们之间是否有明显的/流行的选择?我不打算将这篇文章转换为REST与SOAP的讨论,但是如果快速比较可以在这种情况下有所帮助的话。如果SOA中有第三种选择,我也是开放的,这是我所缺少的。来自实际部署场景的一些示例也将有所帮助。
发布于 2012-08-29 02:22:06
实时和分布是成反比的。
是的,基于JMS的解决方案更适合异步性,而不适合于实时性。
对于这种实现方式,您所设想的分布式SOA服务(是web服务)解决方案似乎非常合适。在负载平衡的集群环境上运行服务,从而提供高可用性。这取决于你需要多少实时时间。
也就是说,如果您不认为需要外部交互,那么在应用服务器上以一个包的形式运行ui-service-dao/dal层的直接部署是更实时的。仍然可以使用支持会话故障转移的群集节点来实现负载平衡和故障转移。这可能不能提供互操作性,但是当您真正需要它时,您可以提供一个包装器。
https://stackoverflow.com/questions/12161847
复制相似问题