我正在开发一个物联网应用程序,它将执行大多数基本的物联网操作,例如阅读和写入“事物”。
当然,只有一个事件驱动的服务器而不是一个用于实时更新的轮询服务器才有意义。我已经研究了许多可用的选项并阅读了很多文章/讨论,但无法得出关于用于后端的技术堆栈的结论。
以下是我遇到的选项:
我希望尽可能多地控制服务器,当然还要以最优惠的价格。我有什么选择?我错过了什么吗?
就个人而言,我更喜欢根据我以前的经验使用Python后端。
答案 0 :(得分:1)
您可以在选项中将苹果与橙子进行比较。前三个完全在您的控制之下,因为您拥有服务器。根据您的经验以及您尝试构建的内容,有很多方法可以解决这个问题以及许多方法来解决这个问题。
最后三个属于Backend-As-A-Service(BaaS)。这些可以让您快速构建应用程序的后端,而无需担心所有的管道。您的后端由第三方操作,维护,因此与您自己的服务器相比,您将失去控制权。
......当然还有最优惠的价格
AWS,Azure,GAE,Firebase,PubNub都有免费配额。如果您的应用程序变得流行并且您需要扩展,那么在某些时候,的BaaS选项可能会变得更加昂贵。
答案 1 :(得分:0)
Back&是您可以考虑的另一个BaaS,它可以让您更好地控制socket.io,但无需设置任何内容(免责声明:我为backand.com工作)。
在服务器端操作中,您决定何时触发事件以及向哪些用户或角色添加,并在客户端中添加侦听器并且它可以正常工作。
查看此codepen演示解决方案:http://codepen.io/backand/pen/VvoKya
客户方:
Backand.on('todo_updated', function (data) {
//Get the event and refresh the list
console.log("event:" + data);
$scope.readList();
});
服务器端:
Socket.emitAll('todo_updated', dbRow);