是否有一个平台作为服务(PAAS,例如Google App Engine或Windows Azure),以合理的成本可用于运行服务器,以使同行处理"实时时间"客户之间的沟通?
在我的情况下,该系统将用于将(少量)与嵌入式C中编程的有限资源的小型家庭自动化小工具转移到Android和iOS应用程序中。几年来,我期望数万个同时连接。
我正在寻找PAAS解决方案而不是Iaa的原因是,我想最大程度地减少虚拟计算机,OS和服务器应用程序维护所需的时间和专业知识。
由于家用自动化小工具的资源限制,因此无法使用PubNub这样的解决方案。我为我的嵌入式C代码有数千个可用的程序闪存,因此所使用的协议必须是非常基本的(例如RAW TCP或UDP,HTTP或WebSockets)。
使用Google App Engine(GAE)使用"长轮询"(GAE)太贵了,因为即使几乎没有传输流量,它们在整个连接期间都会收费。GAE支持插座,但仅插入插座,而不听到服务器上的插座。是否有可能以某种方式解决此限制。首先将UDP数据包发送到GAE(在用户的防火墙中打一个孔,然后让GAE启动插座返回到Home Automation Gadget或Android/ios应用程序?
或使用Windows Azure或其他PAAS提供商的PAAS方面看到其他可能的解决方案?
任何提示或可能的解决方案都非常感谢!
AMQP似乎适合您的协议需求,而Apache QPID/Proton项目具有某些客户端库,其C代码可能满足您的需求。在服务方面,您可以使用Azure Servicebus测试事物,因为它会说AMQP。如果那无法满足您的需求
要考虑的另一个选择是Zeromq。他们有很多非常简单的客户端API,并建立了一项接力服务,该服务扮演工人角色将是一定数量的代码。Java示例C#这些样本使用" InProc"运输,我想您想将其切换到TCP。