与亚马逊SQS&;Java中的SNS
这是我第一次遇到亚马逊SQS和亚马逊SNS。我将在Java的工作场所使用这些工具 关于这些我有几个问题与亚马逊SQS&;Java中的SNS,java,amazon-s3,amazon-web-services,amazon-sqs,amazon-sns,Java,Amazon S3,Amazon Web Services,Amazon Sqs,Amazon Sns,这是我第一次遇到亚马逊SQS和亚马逊SNS。我将在Java的工作场所使用这些工具 关于这些我有几个问题 我没有那么多的Java知识,我不能说我有那么高的水平,但我可以说我有中级的知识。我可以触摸这些区域吗 这些服务到底是什么?它们如何发挥作用?一个现实世界的例子会很有用 任何建议或意见都会很有用 我不会说您需要高级Java知识才能使用它们,但为什么不自己尝试判断呢?AWS Java SDK可在以下站点获得: 在和中有介绍性信息,并有详细文档的链接 当您需要通过internet在系统的各个部分之间
任何建议或意见都会很有用 我不会说您需要高级Java知识才能使用它们,但为什么不自己尝试判断呢?AWS Java SDK可在以下站点获得: 在和中有介绍性信息,并有详细文档的链接 当您需要通过internet在系统的各个部分之间发送可靠的异步消息时,SQS非常有用。它为您节省了设置自己的可靠消息服务的工作量和费用,并提供了可扩展性。当消息不必立即到达,但不能丢失时,它非常有用。账单(销售记录)和其他非时间关键的金融交易就是一个例子。请注意,SQS提供“至少一次”行为——在极少数情况下,它可能会多次传递消息
SNS是发布-订阅的,而不是基于队列的;它是一种更受消费者驱动的消息传递方式,使用主题和订阅,而不是简单的队列。当信息生产者可能不知道信息的所有潜在消费者及其确切需求时,这种风格非常有用。请参见常见问题解答中的示例应用程序,它们应用于支持软件组件之间的可靠通信,我认为这里的主要问题是为什么要将服务划分为多个组件/层 我提出了一些用例:
- 可能影响web响应能力的长时间运行流程:最常见的例子是订单处理,其中支付/信用卡收费可能有点慢,您创建一个服务,为用户提供快速响应,然后向SQS队列发送消息,它触发了一个后台组件,完成所有的繁重工作
- 不同的可伸缩性配置文件:一个常见的例子是一个web应用程序,其中您上载视频并将其编码到多个平台,您可能希望使用不同的组件创建不同的自动伸缩组,视频上载/浏览(许多服务器)和视频编码较少但容量较高的服务器,用法与前面的示例类似
- 触发并行活动的执行:处理订单后,您必须向客户发送电子邮件,通知仓库准备海关发货,通知运输服务在仓库提货,并在客户地址发货,然后,您应该使用一个SNS主题,在该主题中发布一个业务事件,并有3个组件进行监听,以执行以下操作:
- 邮件格式和发送
- 仓库服务电话
- 运输服务呼叫