我是python
后端开发人员。我为android应用程序实现了Rest API
。此应用程序允许用户喜欢或不喜欢发布。我的客户要求即时更新应显示喜欢/不喜欢的计数。
此解决方案的一个解决方案,任一应用程序都会不断地向服务器发送更新,这是非常糟糕的解决方案。经过一些研究后,我发现了另一种使用WebSockets
的解决方案。
建议我是否还有其他更好的解决方案。
WebSockets在服务器级别和本地Android应用程序中是否能够在scalability
?
我非常感谢你的帮助。
答案 0 :(得分:2)
点击服务器进行更新不是一个好选择。由于涉及许多请求/响应周期,使用HTTP,AJAX轮询或AJAX长轮询实际上会在网络上增加大量开销。你应该使用websockets。使用WebSockets,可以在客户端和服务器之间建立全双工和持久连接。这意味着,与请求和响应不同,只要应用程序正在运行,连接就会保持打开状态,并且由于它是全双工,因此可以进行双向同时通信,即现在服务器能够启动通信并“推送”一些数据给客户。
但是WebSockets在协议级别上没有实现Pub / Sub。您需要自己在WebSockets协议之上实现它,这非常繁琐。
您可以使用像Ably这样的PaaS解决方案来抽象此实现,并允许您使用Pub / Sub作为开箱即用的功能。
关于可扩展性,websockets工作得非常好。此外,Ably专为实际和工业用途而设计,因此可以轻松处理您的数据和可扩展性问题。您可能希望阅读有关可伸缩性和实现的their docs。
希望这对你有用。