由于某些需求,要临时搭建局域网络,给小范围内大量移动客户端提供特定的网络服务,这样的服务通常包含常见的HTTP服务、数据文件下载服务、RESTFul接口服务等。市面常见的非企业级WIFI路由器能够承受的用户连接不会太大,一般也就数十个,便携的MIFI用户连接更少,连接超过十多个就无法正常使用了,同时根据现实条件,时常是需要使用3G/4G给WIFI路由提供网络支撑,若APP需要下载一些离线数据包,这样的网络非常容易崩溃。若要支持大量用户,在不提升硬件级别的条件下,只能增加若干WIFI设备进行扩容,但这从根本上没有解决并发下载大数据包的问题。
以下介绍一种利用反向代理缓存大数据,减轻WIFI内下载大数据包对网络的影响,同时支持RESTFul接口连入Internet的方法。
参见上图,左侧是供APP接入的局域网,右侧是Internet环境。局域网中,虚线表示APP和Internet Web接口的连接,此连接只是短连接,提供小数据量的接口服务,并接入Internet;实线表示大数据连接,可提供持久的大数据缓存服务。
此图中关键的设备是反向代理服务器(Reverse Proxy Server),此服务器同时还需作为DNS服务器。经过模拟,使用Nginx提供反向代理功能,在Nginx的配置中,添加大数据(安装包、压缩包、图片等)文件的本地目录,对API接口则转发到Internet交由更强大的云Server进行数据和逻辑处理。Nginx的配置可参考如下:
server {
listen 80;
server_name domain.com;
location / {
proxy_pass http://domain.com;
}
location ~ .zip$ {
root CacheFiles;
}
location ~ .apk$ {
root CacheFiles;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
利用这种网络和软件的配置模式,优点如下:
1、局域网设备配置要求相对较低
2、可复制性高,操作简易,可快速复制多个相同网络
3、本地数据传输速度较快,对3G/4G接入不产生压力
4、用户体验较好,真正实现了无缝接入,包含了数据包和接口的无缝接入
5、无需再次进行分网段引起的数据同步
以上内容还处于理论和试验阶段,有待近期投入实际运作进行验证。欢迎指正!