从AWS发布到Azure EventHub

从AWS发布到Azure EventHub,azure,amazon-web-services,azure-eventhub,Azure,Amazon Web Services,Azure Eventhub,我正在研究一个用例,在这个用例中,我们通过RESTAPI从多个实体收集数据,并将数据持久化到RDBMS上;这是一个现有的系统。此堆栈在AWS上的Windows服务(EC2实例)上运行 现在,我们希望将这些数据发布到Azure EventHub上。传统的方法是使用Azure EventHub REST端点从Windows服务发布数据 我知道Azure EventHub支持1 MB/s的入口吞吐量。根据我们预测的吞吐量(~0.5到0.75 MB/s),我们可能无法充分利用EventHub的容量。对于

我正在研究一个用例,在这个用例中,我们通过RESTAPI从多个实体收集数据,并将数据持久化到RDBMS上;这是一个现有的系统。此堆栈在AWS上的Windows服务(EC2实例)上运行

现在,我们希望将这些数据发布到Azure EventHub上。传统的方法是使用Azure EventHub REST端点从Windows服务发布数据


我知道Azure EventHub支持1 MB/s的入口吞吐量。根据我们预测的吞吐量(~0.5到0.75 MB/s),我们可能无法充分利用EventHub的容量。对于上述用例,我们还可以使用其他机制吗?

听起来,事件中心上的RESTAPI将是一个合适的解决方案。只有当您超出了服务的限制时,从可伸缩性的角度来看,它才会成为一个问题。即使在0.0001 MB/s的速度下,也可以使用未充分利用的事件中心。请注意,您只会按使用的容量计费,而不是按整个服务计费

根据RDBMS具有的功能,您确实有一些替代选项来接收数据。或者,您可以将传入的数据推送到服务总线(如AmazonSQS),并将其路由到事件中心和RDBMS


在高容量场景中跨越云提供商可能会变得昂贵,因为您需要为云数据中心的进出付费。如果你能坚持使用一家云服务提供商,你就能节省这些成本

那么低吞吐量有什么问题呢?你想要解决哪一个问题?我非常同意你的观点,数据传输可能很昂贵,但我们总是受到外部力量的制约。我不明白你的第2段-除了AWS RDS之外,你是在说SQS发布到Azure EventHub吗?这是开箱即用的吗?此外,从Windows服务发布到EventHubs REST端点可能不符合预测的入口。有什么想法吗?我的意思是,在通过REST API收集数据的地方,不要直接将数据插入RDBMS,而是将其放入队列(SQS、KAFKA、Kinesis),然后让该队列将事件“传递”到数据库,并将其转发到事件中心。典型的事件中心类型模式。所需的相关代码可以在AWS Lambda上构建,从而避免您在虚拟机上混日子。没有更多关于设置和约束的知识,很难提供比标准模式更好的建议。