【发布时间】:2017-02-08 20:50:07
【问题描述】:
刚开始使用 Amazon SQS 服务,所以想知道是否有人可以引导我走向正确的方向。 如果我向客户端公开了 rest web-api 接口,并且在每个 http 请求之后,我想将异步消息发送到我的单独服务,该服务负责在数据库中创建特定实体并使用一些逻辑进行处理。像这样的:
var auctionRegistrationCommand = AuctionRegistrationCommand
.CreateFromRequest(lotId, request);
//var sqsClient = new AmazonSQSClient();
//var response = sqsClient.SendMessageAsync(..resitrationCommaon..);
创建实体后,我想将创建的实体的 ID 返回给我的客户端,以便它可以使用它来更新它或对 rest api 进行一些额外的调用。但我找不到怎么做。是否有任何模式或方法来支持这种情况?看到一些使用 Amazon SQS 的示例将是完美的,但一般解释也将非常有帮助。
【问题讨论】:
-
第一部分是SQS的用例,第二部分更多是SNS的用例。一种简单的方法是让客户端轮询状态。
-
使用单向消息传递时,应避免同步通信。客户端应该生成 id(使用 guid),然后后端可以使用它来创建您的记录。有意义吗?
标签: c# amazon-web-services asp.net-web-api amazon-sqs microservices