根据KAA参考,我理解一次只应使用通知功能,当需要从服务器(外部应用程序)向端点发送数据时,仅在需要端点到端点通信时使用事件(一种设备绑定要求)
因此,使用KAA实现请求/响应功能。我需要实现如下的任何混合解决方案。
1)在我的服务器中,我可以运行一个KAA SDK实例,并使用事件功能来请求端点和端点的响应。
OR
2)从我的服务器,我使用通知REST API获取请求,并通过配置“LogUploadStrategy”来上传每个日志,使用任何内置appender通过数据记录器功能获取响应在创建后立即记录。
第1点注释
根据Kaa IoT平台的解决方案架构师Andrew
“您始终可以将SDK嵌入到独立应用程序和主机中 在存在kaa-node的同一服务器上。这个应用可能 接收REST API调用并通过它将它们转发到特定端点 Kaa活动特色。但是,这对于测试目的很有用。一世 不会在生产中推荐这种解决方案,因为它很难 规模和潜在的安全问题“
第2点注释
第1点的问题
1)什么原因导致应用程序扩展以及它面临哪些类型的安全问题,即使它使用RSA 2048加密进行通信?
2)我们是否可以在独立应用程序中嵌入多个SDK,并在存在kaa-node的同一服务器上托管。
第2点的问题
3)如果设备发送通知响应以及遥测数据,是否会增加延迟和任何其他性能问题。
常见问题
4)哪一个是实现请求/响应功能的更好方法?
非常感谢任何帮助或建议。
答案 0 :(得分:1)
1)即使使用RSA 2048加密进行通信,是什么原因导致应用程序扩展以及它面临哪些类型的安全问题?
它使服务器端的EP成为单点故障,并且不允许负载平衡。 关于安全问题,Andrew意味着:此应用程序可能会收到REST API调用,这会强制一个人为此REST API调用提供额外的安全性,并且更好地使用您的第一个混合解决方案,仅使用事件功能。
2)我们是否可以在独立应用程序中嵌入多个SDK,并在存在kaa-node的同一服务器上托管。
不,您不能在一个应用程序中使用多个SDK,但您可以在不同目录中的一台计算机上运行几个实例 为了防止自动生成的安全密钥和其他文件发生冲突。
3)如果设备发送通知响应以及遥测数据,是否会增加延迟和任何其他性能问题。
当然,如果开始非常频繁地发送双方数据,你将面临一些延迟。如果您有许多设备总共发送大量遥测数据,您可以通过群集模式下的启动KAA提高服务器端的性能,或者添加新节点以处理请求。
4)哪一个是实现请求/响应功能的更好方法?
第二种混合解决方案 - 数据收集和通知功能。这不会导致任何缩放问题,您可以轻松地在群集模式下启动Kaa服务器。