目录

网站全球加速

1Nginx 反向代理,动态内容根本无法确定缓存策略,徒增中间一道http请求,实际只能把延迟增加,但是ping看起来很好看,其实没有卵用,反向代理仅仅在有缓存的时候才有作用(第一次其实延迟更大,以后就快很多了)

2cdn 动态加速,这个只能优化路由线路,作用非常有限,有人说能提速50%,没考证,不过可以解决 主机到客户端如果出现线路不通,线路很差,(这样就可以通过机房数据中心缓解)

3,多地主机,多数据库同步

a,多主同时读写,pgbucardo(最后更新还在2016年,才262个星,安装和pg10兼容问题,最终没有测试成功),而且解决同时写感觉不理想(最后的覆盖)

b,一主多从,这个需要从应用层改变,读写需要分离,所以的写都要返回master,读直接从本地salve,需要搞清楚安全问题,replciation账号远程登录,应该需要sslreplication权限也只能复制,貌似被抓包后顶多就是复制我的数据库,replcation可以限制ip,这可能就不用ssl

这种方式还要检查跨国同步延迟问题,失败问题(主机宕机,slave宕机)

测试结果:

master 宕机 slave正常工作,slave宕机 恢复后会同步所有未同步的信息,并不会丢失

pg 主从设置步骤

master设置

1,create user replicate login replication password ‘123456’

2,pg_hba.conf 

host    replication     replicate       /32        md5

3,postgresql.conf

listen_addresses = ‘localhost,IP_address_of_THIS_host’(这里就可以限制登陆的ip)

slave

1,数据库清空文件夹data(不删除data文件夹)

2,切换到postgres 用户执行 pg_basebackup -D /var/lib/pgsql/10/data -h -U -P ( 然后输入密码)

3, 检查复制过来的数据库pg_hba.conf postgresql.conf,改掉不需要的

4,切换到postgres用户 data 下新建文件 recovery.conf 内容如下

standby_mode          = 'on'

primary_conninfo      = ‘host= port= user=replicate password=123456’

recovery_target_timeline = ‘latest’#这条好像可有可无

#trigger_file = ‘/tmp/MasterNow'

注意事项

A, data 文件夹为0700权限(新建data才会出现)

Bdata文件夹下所有文件都是postgres 用户所有(没有在postgres用户下执行pg_basebackup 和建立recovery.conf才会出现)

新的问题

pg远程执行速度慢了几十倍,select * from products 本地295ms,远程 3s-11s

找到原因:数据库远程连接通过tcp,这简直致命,一个tcp就是一个ping时间,而本地不是tcp连接

主从同步也是一样,不过,好像就是每秒一次的信息沟通,像是心跳检测

结论

数据库连接本地最佳,局域网基本也没有多少延迟(34倍,大概0.08毫秒),ping值在远程连接中被10多次放大

主从同步还是非常可靠的,无论哪方断了,只要再连接就能继续执行 tcp每秒一个来回,性能损失不过1/2个客户始终在线

数据库的写操作 源站直接>rest远程源站>远程数据库连接

rest远程如果能建立长连接将会大大提高性能(httpclient 连接池,resttemplate

httpclient连接池根本还是取决于源服务器的keepaliavetimeout

目前能做的(大概可行,本来写操纵也不该分布式部署)

所有的front写操作都可以单独部署一个appkeepalive 设置超长,接受ip仅为自己的几个服务器

部署

美国主站(linode)(北美)20USD2*4 ,英国(linode)(欧洲) 10USD 1*2,新加坡(linode1*2(亚洲,除中国)10USD,澳大利亚(vultra1*2 10USD(澳大利亚,新西兰)

俄罗斯不需要单独主机,到英国才40ping,只有巴西和南非确实慢(可能添加主机)

南非1*2cloud.co.za97 RMB(南非亚马逊没有cdn),巴西 1*1cpu 20%突发,0.25/gb流量)13美金一个月(有免费一年)(南美)

亚马逊的 geo dnscdn(包含南非,巴西)

亚马逊

T系列,突发20%,满 5美分一个小时

的低到中等网络下载可以达到3-4m/sssd 80m/s

每个页面80KB,每天2000人访问,50个页面-》每个月也就228GB1/00转化才20个单》google,亚马逊流量都要2030美金了

巴西的服务器非常难搞

暂时就用亚马逊的吧

googlednscdn全他妈废的,放弃了

亚马逊的cdn 够用,南非,巴西都有点