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

由于某些需求,要临时搭建局域网络,给小范围内大量移动客户端提供特定的网络服务,这样的服务通常包含常见的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时的特殊作用的更多相关文章
- nginx反向代理tomcat应用,struts2网站程序redirect时导致请求地址错误的解决方法
一个使用struts2的网站在登录页面需要进行redirect跳转,大致如下: <package name="admin" extends="httl-defaul ...
- 02 - nginx - 反向代理、限速
一.Nginx反向代理 代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器. 代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中, ...
- Linux 笔记 - 第二十章 配置 Nginx 反向代理和负载均衡
一.简介 由于 Nginx 的反向代理和负载均衡功能经常被提及,所以将这两个功能单独提出来进行讲解. Nginx 其实仅仅是作为 Nginx Proxy 反向代理使用的,因为这个反向代理功能表现的效果 ...
- 【应用服务 App Service】 App Service Rewrite 实例 - 反向代理转发功能
问题描述 在使用Azure App Service(应用服务)时,有时候需要在不同的站点之间进行跳转,但是希望通过通过访问同一个域名的方式来实现反向代理.如果创建应用时候选择的是Window服务,这时 ...
- 【Azure 应用服务】App Service For Container 配置Nginx,设置/home/site/wwwroot/目录为启动目录,并配置反向代理
问题描述 通过Docker Desktop for Linux,配置Nginx镜像后,自定义nginx.conf文件,修改启动目录和对 /out 路径的反向代理到博客园的博文地址 (https://w ...
- app与jvm 反向代理时config的设置(用于在web页面显示npm(就如tomcat)产生的页面)
dev: { // Various Dev Server settings contentBase: ROOT, host: ip, port: 8084, //此端口为任意设置,不重复即可,为 ...
- Nginx支持WebSocket反向代理-学习小结
WebSocket是目前比较成熟的技术了,WebSocket协议为创建客户端和服务器端需要实时双向通讯的webapp提供了一个选择.其为HTML5的一部分,WebSocket相较于原来开发这类app的 ...
- 【架构师之路】Nginx负载均衡与反向代理—《亿级流量网站架构核心技术》
本篇摘自<亿级流量网站架构核心技术>第二章 Nginx负载均衡与反向代理 部分内容. 当我们的应用单实例不能支撑用户请求时,此时就需要扩容,从一台服务器扩容到两台.几十台.几百台.然而,用 ...
- Nginx负载均衡与反向代理—《亿级流量网站架构核心技术》
当我们的应用单实例不能支撑用户请求时,此时就需要扩容,从一台服务器扩容到两台.几十台.几百台.然而,用户访问时是通过如http://www.XX.com的方式访问,在请求时,浏览器首先会查询DNS服务 ...
随机推荐
- 在CSDN博客中添加量子恒道统计功能的做法
作者:朱金灿 来源:http://blog.csdn.net/clever101 什么是量子恒道统计?量子恒道统计是一套免费的网站流量统计分析系统.致力于为所有个人站长.个人博主.所有网站管理者.第三 ...
- win10 uwp 使用 msbuild 命令行编译 UWP 程序
原文:win10 uwp 使用 msbuild 命令行编译 UWP 程序 版权声明:博客已迁移到 http://lindexi.gitee.io 欢迎访问.如果当前博客图片看不到,请到 http:// ...
- Python Tricks(二十二)—— small tricks
多次 import import numpy as np, matplotlib.pyplot as plt ndarray 的强制类型转换 v = v.astype(np.int) python 的 ...
- 【 D3.js 入门系列 --- 9.3 】 弦图生产
我个人的博客: www.ourd3js.com csdn博客为: blog.csdn.net/lzhlzz 转载请注明出处,谢谢. 弦图( Chord ),主要用于表示两个节点之间的联系.例如以下图: ...
- HDU 4414 Finding crosses(dfs)
Problem Description The Nazca Lines are a series of ancient geoglyphs located in the Nazca Desert in ...
- 学习git命令
1.git init @创建仓库 2.git add filename @添加文件到缓存区 3.git commit -m"注释说明" @提交修改内容 4.git statu ...
- [转]完美解决)Tomcat启动提示At least one JAR was scanned for TLDs yet contained no TLDs
一.文章前言 本文是亲测有效解决At least one JAR was scanned for TLDs yet contained no TLDs问题,绝对不是为了积分随便粘贴复制然后压根都 ...
- Android手势识别的发展
在播放器.与手势识别.所以,看看今天的我们Android手势识别. 首先,我们需要站在巨人的肩膀上.有些人举了个例子和说明. 第一章: http://www.2cto.com/kf/201110/10 ...
- docker端口映射或启动容器时报错Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen
现象: [root@localhost ~]# docker run -d -p 9000:80 centos:httpd /bin/sh -c /usr/local/bin/start.shd5b2 ...
- WPF中获取TreeView以及ListView获取其本身滚动条的方法,可实现自行调节scoll滚动的位置(可相应获取任何控件中的内部滚动条)
原文:WPF中获取TreeView以及ListView获取其本身滚动条的方法,可实现自行调节scoll滚动的位置(可相应获取任何控件中的内部滚动条) 对于TreeView而言: TreeViewAut ...