问题标签 [amazon-mq]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-boot - Spring Boot + Websocket + Stomp 在服务器空闲时抛出异常
我有 Spring Boot 应用程序,我在其中使用 AmazonMQ 实现了 websocket + stomp。我能够将消息发送到队列并从客户端消费。
问题是当服务器空闲一段时间并且没有任何消息发送到队列时,我遇到了异常。是否有可能处理这种行为?
amazon-web-services - 如何在 AWS 上接收数据 MQTT
我有一个通过 MQTT 向我发送数据的外部服务。我需要在 AWS 上接收这些数据,然后对其进行处理,然后将其写入 RDS 实例。为此推荐了哪些服务?一个 Amazon MQ 和一个 Lambda?SQS 和 Lambda?任何其他?
谢谢你的帮助。
aws-lambda - AWS Serverless:处理源自 AWS 外部的 JMS 源
目标:了解当 JMS 源源自 AWS 外部时使用 AWS 无服务器原则处理 JMS 源的选项。
我在 AWS 上看到的所有 JMS 订阅示例都假设 JMS 生产者正在写入 SQS 或 AmazonMQ。JMS 订阅者可以简单地使用 AWS 开发工具包来管理订阅,尤其是在使用具有有限计算时间的 Lambda 函数来批处理来自无界流的消息时。我还没有看到使用 AWS 无服务器订阅源自 AWS 外部的 JMS 源的参考架构。
Lambda在这里甚至是一个选择吗?Kinesis 分析(又名 Apache Flink)是更好的选择吗?在 EKS 上的 Docker 下运行的 Java JMS 使用者?Apache Camel 在 EKS 上运行?
我怀疑这里正确的无服务器答案是让最初的 AWS 端订阅者订阅非 AWS JMS 源,然后简单地将消息复制到 SQS、AmazonMQ 或 Kinesis,其中用于消息处理的普通 AWS 无服务架构模式可以接管.
amazon-web-services - Amazon MQ 上的自定义域
我已经设置了一个 Amazon MQ 代理,并且您生成了一个域 *.mq.eu-west-2.amazonaws.com
生成的是一个很长的 DN,我想做的是将它映射到我自己域的子域。
由于所有 AWS 服务都通过 SSL,因此我还需要该子域的证书,我通常只使用 ACM。
问题是我不能只生成域然后生成 SSL 证书的 CNAME,因为这不起作用。AWS 在 route53 中提供了所谓的 ALIAS A 记录,其他服务可以解决这个问题,但它似乎不适用于 Amazon MQ。您获得的选项不包括 MQ 服务。
查看一些 AWS 文档,听起来我需要执行以下操作(但似乎有点矫枉过正)
- 创建私人经纪人
- 创建网络负载均衡器
- 将 2 连接在一起(这很难,我无法让它工作)
- 将我的子域 CNAME 到 NLB
还有其他人对如何最好地解决这个问题有任何建议吗?
node.js - 在nodejs mqtt重新连接中没有收到以前的消息
我正在创建一个简单的 NodeJS 应用程序(作为消费者),它接收来自 MQ 代理(Amazon MQ)的消息。我能够接收消息,但是当发布者向代理发送消息时,消费者不会读取新消息(由于没有新消息而空闲几分钟后)。最终,它会断开连接并重新连接,但此时它只会接收新发布的消息。
在这里您可以看到消息编号 (8,9,12) 没有被读取。这是我的消费者应用程序的问题还是与发布者或经纪人有关?
更新1:
我从发布者那里添加keepalive, clean, reconnectPeriod, qos
了options
匹配,现在它似乎可以工作了。我会对此做进一步的观察。
更新2:
当发布者向主题发送消息时,我故意通过退出我的节点应用程序来断开订阅者的连接。当我重新/连接订阅者时,它只读取最后一条消息。
python - 无法使用 Python(paho.mqtt.python) 库通过 MQTT 协议连接到 AmazonMQ
我可以使用 Java eclipse Paho 客户端连接到 AmazonMQ,但无法在 Python 中进行相同的操作。它给了我一个错误“ gaierror: [Errno -2] Name or service not known ”。
上面的 python 代码适用于本地托管的 ActiveMQ MQTT 代理,也适用于我托管 ActiveMQ MQTT 代理的独立服务器。但同样不适用于 AmazonMQ 代理。
Github Paho的问题跟踪器中已经提到了这个问题,但仍然没有解决方案可以提供帮助。
python - 将 stomp.py 消费者/生产者放在 Flask-Gunicorn python 应用程序中
我有一个由Gunicorn托管的现有烧瓶应用程序(有一堆 REST api)。我还必须在同一个应用程序中从AmazonMQ发送和接收消息。我有使用stomp.py从 AmazonMQ 发送/接收消息的功能,但我不确定将它们放置在哪里,或者我应该如何使用它们以保持现有流完整
jms - Amazon MQ 将 AMQP 消息转换为 JMS
我有一个 Python 和 Java Spring 应用程序以两种方式通信。该堆栈主要基于 Java/Spring 构建,因此 ActiveMQ 和 JMS 是合乎逻辑的选择。但是,我们添加了一个需要与其余服务交互的 Python 应用程序,因此我使用了 qpid proton(AMQP 库)并在 ActiveMQ 配置中添加了以下配置以使其正常工作:
它在 ActiveMQ 上完美运行,并允许使用 AMQP 客户端发送/接收 JMS TextMessage。
不幸的是,Amazon MQ 拒绝了此配置并返回以下错误:
元素“transportConnector”上属性“name”的值“amqp+ssl”相对于其类型“protocol”无效。和 cvc-enumeration-valid:值 'amqps' 对于枚举 '[openwire]' 不是 facet-valid
AWS 将 Amazon MQ 作为托管 ActiveMQ 服务推销,但它们似乎缺乏功能,因为从 AMQP 到 JMS 的映射从 5.8 版开始可用:https ://activemq.apache.org/amqp和我的 Amazon MQ 代理m 使用的是版本 5.15.12
我尝试将amp;transport.transformer=jms
和transport.transformer=jms
标头添加到代理 URL 的查询字符串中,以及在 Python 应用程序而不是 AMQP 中使用 STOMP 作为协议(因为它是纯文本协议),但这些都不起作用。
那么,您知道我可以在 Python 应用程序中发送 AMQP 消息并在 Java 应用程序中接收 JMS TextMessage 的任何潜在缺失配置或其他方式吗?