gpt4 book ai didi

google-app-engine - 平台即服务,可同时处理数万个长期网络连接

转载 作者:太空宇宙 更新时间:2023-11-03 15:36:35 25 4
gpt4 key购买 nike

是否有一种平台即服务(PaaS,例如 Google App Engine 或 Windows Azure)可以以合理的成本用于运行服务器来中继客户端之间的点对点“实时”通信?

在我的例子中,该系统将用于将(少量)网络流量中继到 Android 和 iOS 应用程序,这些网络流量以嵌入式 C 语言编程,资源有限。几年后,我预计会有数万个同时连接。

我寻找 PaaS 解决方案而不是 IaaS 的原因是我希望最大限度地减少虚拟计算机、操作系统和服务器应用程序维护所需的时间和专业知识。

由于家庭自动化小工具的资源限制,像PubNub这样的解决方案不可能。我有几千字节的可用程序闪存用于嵌入式 C 代码,因此使用的协议(protocol)必须非常基本(例如原始 TCP 或 UDP、HTTP 或 WebSockets)。

在 Google App Engine (GAE) 中使用“长轮询”的成本太高,因为即使几乎没有传输流量,它们也会在整个连接期间计费。 GAE 支持套接字,但仅支持传出套接字,不支持服务器上的监听套接字。是否有可能以某种方式绕过这个限制,例如首先向 GAE 发送 UDP 数据包(在用户的防火墙上打一个洞,然后让 GAE 向家庭自动化小工具或 Android/iOS 应用程序发起传出套接字?

或者您是否看到使用 Windows Azure 或其他 PaaS 提供商的 PaaS 方面的任何其他可能的解决方案?

非常感谢任何提示或可能的解决方案!

最佳答案

AMQP看起来它会满足您的协议(protocol)需求和 Apache Qpid/Proton项目有一些客户端库,它们的C代码可能会满足您的需求。在服务方面,您可以使用 Azure ServiceBus 进行测试。因为它讲 AMQP。如果这不能满足您的需求,您可以托管一个辅助角色并在其中运行 AMQP 客户端之一。

另一个需要考虑的选择是 ZeroMQ。他们有很多非常简单的客户端 API,构建一个以 Worker 角色运行的中继服务只需少量代码。 Java Sample C# Sample这些示例使用“inproc”传输,我猜您想将其切换到 TCP。

关于google-app-engine - 平台即服务,可同时处理数万个长期网络连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21204793/

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