由于某些需求,要临时搭建局域网络,给小范围内大量移动客户端提供特定的网络服务,这样的服务通常包含常见的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、无需再次进行分网段引起的数据同步

以上内容还处于理论和试验阶段,有待近期投入实际运作进行验证。欢迎指正!

反向代理在APP通过无线路由接入3G/4G时的特殊作用的更多相关文章

  1. nginx反向代理tomcat应用,struts2网站程序redirect时导致请求地址错误的解决方法

    一个使用struts2的网站在登录页面需要进行redirect跳转,大致如下: <package name="admin" extends="httl-defaul ...

  2. 02 - nginx - 反向代理、限速

    一.Nginx反向代理 代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器. 代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中, ...

  3. Linux 笔记 - 第二十章 配置 Nginx 反向代理和负载均衡

    一.简介 由于 Nginx 的反向代理和负载均衡功能经常被提及,所以将这两个功能单独提出来进行讲解. Nginx 其实仅仅是作为 Nginx Proxy 反向代理使用的,因为这个反向代理功能表现的效果 ...

  4. 【应用服务 App Service】 App Service Rewrite 实例 - 反向代理转发功能

    问题描述 在使用Azure App Service(应用服务)时,有时候需要在不同的站点之间进行跳转,但是希望通过通过访问同一个域名的方式来实现反向代理.如果创建应用时候选择的是Window服务,这时 ...

  5. 【Azure 应用服务】App Service For Container 配置Nginx,设置/home/site/wwwroot/目录为启动目录,并配置反向代理

    问题描述 通过Docker Desktop for Linux,配置Nginx镜像后,自定义nginx.conf文件,修改启动目录和对 /out 路径的反向代理到博客园的博文地址 (https://w ...

  6. app与jvm 反向代理时config的设置(用于在web页面显示npm(就如tomcat)产生的页面)

    dev: { // Various Dev Server settings contentBase: ROOT, host: ip, port: 8084,    //此端口为任意设置,不重复即可,为 ...

  7. Nginx支持WebSocket反向代理-学习小结

    WebSocket是目前比较成熟的技术了,WebSocket协议为创建客户端和服务器端需要实时双向通讯的webapp提供了一个选择.其为HTML5的一部分,WebSocket相较于原来开发这类app的 ...

  8. 【架构师之路】Nginx负载均衡与反向代理—《亿级流量网站架构核心技术》

    本篇摘自<亿级流量网站架构核心技术>第二章 Nginx负载均衡与反向代理 部分内容. 当我们的应用单实例不能支撑用户请求时,此时就需要扩容,从一台服务器扩容到两台.几十台.几百台.然而,用 ...

  9. Nginx负载均衡与反向代理—《亿级流量网站架构核心技术》

    当我们的应用单实例不能支撑用户请求时,此时就需要扩容,从一台服务器扩容到两台.几十台.几百台.然而,用户访问时是通过如http://www.XX.com的方式访问,在请求时,浏览器首先会查询DNS服务 ...

随机推荐

  1. 让delphi2010操作界面回到delphi7模式

    让delphi2010操作界面回到delphi7模式 在使用delphi2010的过程中,很不习惯它的窗口在一个框框内,感觉很不方便,可能是因为使用delphi7很多年了,已经习惯了delphi7的版 ...

  2. less - 循环 loop

    .avatar-loop(@n, @i:1, @level) when (@i <= @n) { &:nth-child(@{level}) .item.item-@{i} { .ava ...

  3. 设置npm淘宝镜像

    npm config set registry https://registry.npm.taobao.org

  4. Matlab使用鼠标标注图像位置并返回坐标(标注图像ROI)

    代码 function ROI=LabelBox(filename) Mat=imread(filename); imshow(Mat); mouse=imrect; pos=getPosition( ...

  5. Qt5.9 官方发布的新版本亮点的确不胜枚举(而且修复2000+ bugs)

    作者:Summer Fang链接:https://www.zhihu.com/question/60486611/answer/177584284来源:知乎著作权归作者所有.商业转载请联系作者获得授权 ...

  6. python 左旋转字符串

    比较简单的一道题 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果.对于一个给定的字符序列S,请你把其循环左移K位后的序列输出.例如,字符序列S= ...

  7. android自定义View绘制天气温度曲线

    原文:android自定义View绘制天气温度曲线 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012942410/article/detail ...

  8. App.xaml介绍

    在App.xaml.cs中指定 public App () { InitializeComponent(); MainPage = new XamarinDemo.MainPage(); } 同时,这 ...

  9. ControlTemplate

    ControlTemplate:外观定制 <Window.Resources> <ControlTemplate x:Key="CheckBoxControlTemplat ...

  10. Binding的详细说明

    <DataGridTextColumn Width="*" Header=" 组合规则名称 " Binding="{Binding ComRul ...