0

根据 KAA 参考资料,我知道一次应该只使用通知功能,当需要将数据从服务器(外部应用程序)发送到端点时,事件仅在需要端点到端点通信(设备种类)时使用绑定要求)

因此,使用 KAA 实现请求/响应功能。我需要实现任何混合解决方案,如下所示。

1)在我的服务器中,我可以运行一个 KAA SDK 实例并使用事件功能向端点请求和从端点响应。

或者

2)在我的服务器上,我使用通知 REST API 进行请求,并使用任何内置附加程序通过数据记录器功能获取响应,方法是配置“LogUploadStrategy”,以便在创建每个日志记录后立即上传。

第 1 点注意事项

  • Kaa IoT 平台解决方案架构师 Andrew 表示

    “您始终可以将 SDK 嵌入到独立应用程序并托管在存在 kaa-node 的同一服务器上。此应用程序可能会接收 REST API 调用并通过 Kaa 事件功能将它们转发到特定端点。但是,这对于测试很有用目的。我不会在生产中推荐这种解决方案,因为它难以扩展并且存在潜在的安全问题”

第 2 点注意事项

  • 它仅满足 KAA 参考文档以及 Andrew 对请求的建议,但我如何才能获得响应。

第 1 点的问题

1) 扩展应用程序的原因是什么,即使它使用 RSA 2048 加密进行通信,它也面临哪些类型的安全问题?

2) 我们能否在独立应用程序中嵌入多个 SDK 并托管在存在 kaa-node 的同一服务器上。

第 2 点的问题

3)如果设备将通知响应与遥测数据一起发送,是否会增加延迟和任何其他性能问题。

常见问题

4) 哪一种是实现请求/响应功能的更好方法?

非常感谢任何帮助或建议。

4

1 回答 1

1

1) 即使使用 RSA 2048 加密进行通信,扩展应用程序的原因是什么以及它面临的安全问题类型是什么?

它使服务器端的 EP 成为单点故障,并且不允许负载平衡。关于安全问题,Andrew 的意思是:此应用程序可能会接收 REST API 调用,这会迫使您为此 REST API 调用提供额外的安全性,并更好地使用您的第一个混合解决方案,仅使用事件功能。

2) 我们能否在独立应用程序中嵌入多个 SDK 并托管在存在 kaa-node 的同一服务器上。

不,您不能在一个应用程序中使用多个 SDK,但您可以在一台机器上的不同目录中运行几个实例,以防止自动生成的安全密钥和其他文件发生冲突。

3)如果设备将通知响应与遥测数据一起发送,是否会增加延迟和任何其他性能问题。

当然,如果开始非常频繁地在双方发送大量数据,您将面临一些延迟。如果您有很多设备总共发送大量遥测数据,您可以通过在集群模式下启动 KAA 或添加新节点来处理请求来提高服务器端的性能。

4) 哪一种是实现请求/响应功能的更好方法?

第二种混合解决方案——数据收集和通知功能。这不会导致任何规模问题,您可以轻松地以集群模式启动 Kaa 服务器。

于 2016-11-21T17:26:19.243 回答