举例说明基于客户机-服务器模式的应用场景有哪些?
在线视频平台如Netflix或优酷也基于此模式。你作为用户,通过APP或网站作为客户机向媒体服务器请求视频流数据。服务器接收到你的播放指令后,根据网络状况和会员等级,实时推送视频数据流到你的终端设备上。
在线视频平台如Netflix或优酷也基于此模式。你作为用户,通过APP或网站作为客户机向媒体服务器请求视频流数据。服务器接收到你的播放指令后,根据网络状况和会员等级,实时推送视频数据流到你的终端设备上。
这个例子选得很贴切,不过这里其实还有个关键点容易被忽略:现代流媒体通常用的是CDN边缘节点来分担主服务器的压力,否则高并发下主服务器很容易崩。另外,除了实时推送,弹幕互动这种功能也得通过C/S模式回传服务器,不然弹幕就同步不上了。
其实这个例子挺典型的,不过现在的视频平台背后逻辑复杂多了。除了基础C/S请求,还大量涉及CDN分发、自适应码率技术,甚至有的环节用到了P2P辅助,单纯说C/S有点过于简化了,但作为入门理解确实够用了。
其实除了Netflix这种典型的流媒体,像现在的云端游戏(云游戏)也是完美的客户机-服务器架构。我们手机或轻薄本作为“瘦客户机”只负责解码画面和上传操作指令,繁重的游戏运算全部在远端的服务器集群里完成。这种模式彻底打破了硬件限制,不过它对网络延迟的要求极其苛刻,稍微有点卡顿体验就崩了,这点比看视频要难受得多。