公司经营国际业务,经过考虑,数据中心设在美国纽约,首先确定地域的选择是OK的,美国是全球互联网中心,可以保证日本、英国等其他国家可以流畅的打开公司站点,而不用考虑网站加速。
问题:
1、中国政策的特殊性,国外站点打开速度极慢,网站转化率低,严重影响了公司业务
2、其他网络不发达国家由于自身的原因,打开速度势必缓慢
3、分布式部署可以解决,但是数据不同步,运营成本较高,公司目前暂时不考虑
方案一:
route53+nginx反向代理实现网站加速
route53:route53是亚马逊一项云解析服务,可以针对不用区域实现按区域解析
原理:
1、我们可以利用route53实现不同区域的用户的路由,默认解析到美国,香港用户也解析到美国,中国用户解析到香港
2、在香港节点使用nginx实现反向代理,从美国拉数据返回给用户
经过严格的测试,此种方法很好的解决了在国外运营站点的速度问题,不信你也试试,你会佩服自己的
步骤:
1、在香港主机操作如下
yum install nginx
cd /etc/nginx/conf.d
配置反向代理域名等信息
chkconfig nginx on
2、然后登陆亚马逊route53配置相应的解析地址
大功告成
方案2:
route53+haproxy+GPN+nginx实现网站加速
此方案是在方案一的基础上做的升级,从架构图可以看到,大陆到香港我们使用的是GPN专线,不快是不可能的
步骤:
1、在大陆服务器操作如下
entos下请先yum update -y再yum install haproxy -y
编辑haproxy配置文件
清空后像下面一样写入配置
global
ulimit-n 51200defaults
log global
mode tcp
option dontlognull
timeout connect 1000ms
timeout client 150000ms
timeout server 150000msfrontend 110-in
bind *:110
default_backend 110-outfrontend 109-in
bind *:109
default_backend 109-out
frontend 110-in-jp
bind *:1110
default_backend 110-out-jp
backend 110-out
server server1 spg.xx.xx:110 maxconn 20480backend 109-out
server server1 spg.xx.xx:109 maxconn 20480backend 110-out-jp
server server1 jp.xx.xx:110 maxconn 20480
frontend的端口为要在中转服务器上用的端口
backend的端口是源服务器的ip和端口
每个端口的“frontend” 要对应一个“backend”
文件写的时候要记得一一对应。
端口信息自行修改
运行命令:
haproxy -f /etc/haproxy/haproxy.cfg
2、在美国服务器上部署nginx并启动
3、在亚马逊route53增加相应的解析
大功告成呀,老板不发奖金那是不可能的噢
还有更大的提升空间,有兴趣的朋友可以一起探讨
QQ:3984850