Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与亚马逊SQS&;Java中的SNS_Java_Amazon S3_Amazon Web Services_Amazon Sqs_Amazon Sns - Fatal编程技术网

与亚马逊SQS&;Java中的SNS

与亚马逊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在系统的各个部分之间

这是我第一次遇到亚马逊SQS和亚马逊SNS。我将在Java的工作场所使用这些工具

关于这些我有几个问题

  • 我没有那么多的Java知识,我不能说我有那么高的水平,但我可以说我有中级的知识。我可以触摸这些区域吗

  • 这些服务到底是什么?它们如何发挥作用?一个现实世界的例子会很有用


  • 任何建议或意见都会很有用

    我不会说您需要高级Java知识才能使用它们,但为什么不自己尝试判断呢?AWS Java SDK可在以下站点获得:

    在和中有介绍性信息,并有详细文档的链接

    当您需要通过internet在系统的各个部分之间发送可靠的异步消息时,SQS非常有用。它为您节省了设置自己的可靠消息服务的工作量和费用,并提供了可扩展性。当消息不必立即到达,但不能丢失时,它非常有用。账单(销售记录)和其他非时间关键的金融交易就是一个例子。请注意,SQS提供“至少一次”行为——在极少数情况下,它可能会多次传递消息


    SNS是发布-订阅的,而不是基于队列的;它是一种更受消费者驱动的消息传递方式,使用主题和订阅,而不是简单的队列。当信息生产者可能不知道信息的所有潜在消费者及其确切需求时,这种风格非常有用。请参见常见问题解答中的示例应用程序,它们应用于支持软件组件之间的可靠通信,我认为这里的主要问题是为什么要将服务划分为多个组件/层

    我提出了一些用例:

    • 可能影响web响应能力的长时间运行流程:最常见的例子是订单处理,其中支付/信用卡收费可能有点慢,您创建一个服务,为用户提供快速响应,然后向SQS队列发送消息,它触发了一个后台组件,完成所有的繁重工作

    • 不同的可伸缩性配置文件:一个常见的例子是一个web应用程序,其中您上载视频并将其编码到多个平台,您可能希望使用不同的组件创建不同的自动伸缩组,视频上载/浏览(许多服务器)和视频编码较少但容量较高的服务器,用法与前面的示例类似

    • 触发并行活动的执行:处理订单后,您必须向客户发送电子邮件,通知仓库准备海关发货,通知运输服务在仓库提货,并在客户地址发货,然后,您应该使用一个SNS主题,在该主题中发布一个业务事件,并有3个组件进行监听,以执行以下操作:

    • 邮件格式和发送
    • 仓库服务电话
    • 运输服务呼叫
    可能还有许多其他用法场景,如果您告诉我们您的解决方案需要做什么,也许我们可以更精确地提供帮助