gpt4 book ai didi

java - 从 Java 应用程序将大量实时数据推送到 AWS 的最佳方式

转载 作者:行者123 更新时间:2023-11-30 11:10:45 25 4
gpt4 key购买 nike

我希望将大量数据从我的 Java Web 应用程序推送到 AWS。在我的 Java 应用程序中,我可以灵活地使用方法/技术。通常,我会尝试将大量系统数据转储到 AWS 存储中以用于历史目的,这些数据最终可以在服务器上报告并用于审计/历史目的。

1) Java Web 应用程序(N 个节点)将近乎实时地将系统诊断信息推送到 AWS。2) 系统诊断信息将由系统的自定义插件收集并推送到某个 AWS 端点以进行聚合。3) 大约每秒都会有新信息推送到 AWS4) 多个 java web 应用程序将收集信息并将其推送到中央服务器

我正在寻找将数据从 Java 应用程序传输到 AWS 的最佳方式;理想情况下,该解决方案将在 AWS 端很好地集成,并且在 Java Web 应用程序端实现起来不会过于复杂(例如,我不想运行其他一些应用程序/DS 来提供中间商店)。我对 AWS 存储技术也没有强烈的看法。

示例想法:将 HTTP POST 数据从 java web 应用批量发送到 AWS,使用 JMS 解决方案发送数据,利用一些 Logger 技术“写入”AWS 数据存储。

最佳答案

假设诊断信息不是太大我会考虑 SQS。如果您有不同类别的数据,您可以将不同类型的数据推送到不同的队列。然后,您可以从在 EC2 中运行的服务器或您自己的服务器上使用队列中的消息。

SQS 将至少传送每条消息一次,但您必须准备好多次传送给定消息。重复确实偶尔会发生。

如果您的有效负载很大,您会希望将它们放在 S3 中。如果您必须走这条路,您可能还想使用 SQS:在 S3 中创建一个文件并使用 S3 文件名将消息推送到 SQS,以确保所有有效负载都得到处理。

我想您会将数据包推送到 SQS,然后有一个单独的进程来使用消息并以支持您可能拥有的任何报告/聚合要求的格式插入数据库或其他存储。队列提供可扩展的流量控制,因此您可以根据平均数据速率调整消息消耗/处理的大小,即使您的数据生成速率在一天中可能会有很大变化。

SQS 最多只能保留消息 14 天,因此您必须有一些其他进程来使用消息并进行一些长期存储。

关于java - 从 Java 应用程序将大量实时数据推送到 AWS 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27611249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com