Web services 直接向客户机公开AmazonSQS,或通过Web服务作为代理公开

Web services 直接向客户机公开AmazonSQS,或通过Web服务作为代理公开,web-services,amazon-web-services,amazon-sqs,Web Services,Amazon Web Services,Amazon Sqs,我想在我的应用程序中使用AmazonSQS对来自其他不属于我的外部系统的请求进行排队 这样做的更好方法是直接公开SQS队列和所需的messageformat,或者发布对请求进行排队的web服务(WCF) 我还了解到,SQS对于单次访问来说相对较慢,但它可以轻松处理来自不同客户端的大量并发访问,这对我来说是正确的吗 最好的 托马斯这在很大程度上是一个偏好问题,取决于你的情况。但我的建议是用您自己的web服务来包装它 构建web服务允许您执行验证、限制、模式版本控制等操作。例如,您可以拒绝无效消息,

我想在我的应用程序中使用AmazonSQS对来自其他不属于我的外部系统的请求进行排队

这样做的更好方法是直接公开SQS队列和所需的messageformat,或者发布对请求进行排队的web服务(WCF)

我还了解到,SQS对于单次访问来说相对较慢,但它可以轻松处理来自不同客户端的大量并发访问,这对我来说是正确的吗

最好的
托马斯

这在很大程度上是一个偏好问题,取决于你的情况。但我的建议是用您自己的web服务来包装它

构建web服务允许您执行验证、限制、模式版本控制等操作。例如,您可以拒绝无效消息,并立即向发件人提供同步反馈。如果外部系统直接发布到您的队列,则无效消息将成为您的问题,而不是他们的问题;如果您修改架构并希望拒绝旧的架构消息,则必须删除它们或设置单独的反馈通道以向发布者反馈信息。这会给系统增加不必要的复杂性。如果需要,拥有web服务甚至可以让您稍后切换到其他排队技术

但是构建您自己的web服务也有缺点:您自己的服务是否能够以相同的低延迟处理与SQS API相同的负载?它不会像SQS那样无限扩展,所以您需要对负载的变化做出多大的响应?您是否拥有管理单独服务的资源?这不仅仅是授予客户机的AWS帐户发布到您的队列的权限


如果您对所涉及的额外工作感到满意,并且希望有一个更加经得起未来考验的系统,那么我认为构建web服务包装器是值得的。

这在很大程度上取决于您的偏好,并取决于您的情况。但我的建议是用您自己的web服务来包装它

构建web服务允许您执行验证、限制、模式版本控制等操作。例如,您可以拒绝无效消息,并立即向发件人提供同步反馈。如果外部系统直接发布到您的队列,则无效消息将成为您的问题,而不是他们的问题;如果您修改架构并希望拒绝旧的架构消息,则必须删除它们或设置单独的反馈通道以向发布者反馈信息。这会给系统增加不必要的复杂性。如果需要,拥有web服务甚至可以让您稍后切换到其他排队技术

但是构建您自己的web服务也有缺点:您自己的服务是否能够以相同的低延迟处理与SQS API相同的负载?它不会像SQS那样无限扩展,所以您需要对负载的变化做出多大的响应?您是否拥有管理单独服务的资源?这不仅仅是授予客户机的AWS帐户发布到您的队列的权限

如果您对所涉及的额外工作感到满意,并且希望有一个更加经得起未来考验的系统,那么构建web服务包装器是值得的