如何解决移动应用中的Websocket替代品?
Uber等后端服务的典型系统设计图涉及到客户端的代理和Web套接字服务器连接。
我很好奇,为什么这些现代Web设计仅考虑Web套接字(和长时间轮询)。如果需求来自移动应用程序的位置更新服务,该服务不断将位置更新推送到服务器,那么为什么人们不阻止例如iOS客户端与服务器之间的自定义tcp或udp连接?
tcp连接确实是websocket在后台使用的,但是通过原始TCP连接,您可以使用更成熟的库(Netty,Kernel-bypass,FPGA)
Udp看起来更好,因为它是无状态的,并且在断开连接时可以恢复。如果这是位置更新的一种方式,那么似乎可以达到目的。
有想法吗?
解决方法
使用Websockets的要点是,它可以与现有的防火墙,代理和其他限制一起很好地使用。设备只用于允许访问Web和邮件的受限网络中并不少见。还可以提供消息语义(TCP只是字节流),并且还很好地集成了对TLS的支持,这也很不错。尽管“原始” TCP的开销可能较小,但Websocket的实际开销却很小。通常,非二进制有效负载(即JSON,XML)的开销要高得多,这使得Websockets的额外开销很小。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。