【发布时间】:2012-01-29 20:26:30
【问题描述】:
我需要从一些外部应用程序中获取一些数据以在 Web 门户中呈现。
我可以通过创建一个简单的 Web 服务来实现这一点,例如使用 REST 或 SOAP,通过访问外部应用程序的数据库以表示形式返回外部应用程序的数据。
我也可以通过使用消息传递和请求-回复模式来实现这一点。
这些是我迄今为止在考虑可扩展性和可用性问题时所收获的。如果我错了,请纠正我。
使用 RESTful 方法:
我可以想象无状态 REST 架构很容易扩展,就像可以集群的 Web 服务器一样,其吞吐量可以控制(例如要服务的线程数等),但我认为瓶颈会在那时可以在数据库中访问。
1234563
使用消息传递方法:
我可以“缓冲” 频道,如果有很多频道,甚至可以有多个频道 请求,同时可以控制消费率 这对于数据库处理能力来说是合理的。
不可用问题应该用持久化来优雅地处理 通道,但在这种情况下,它是同步访问,并且必须 如果外部应用程序的数据库在时限内响应 不可用。我认为这对这种同步需求没有好处。
不知何故,我更喜欢这种情况下的 RESTful 方法,因为它实际上是一种同步访问,当然实现起来更简单。 但我仍然有疑问。
请分享您的想法。谢谢!
【问题讨论】:
-
同意!无论您提到的缺陷如何,都尝试使用 REST。它在开发的后期阶段具有很高的可扩展性。谢谢
标签: web-services rest integration message-queue messaging