我们第一个项目面向的是企业用户,以是其中有个功效就是给企业做官网。这些用户虽然是自力的用户,可是平台提供了他们交互功效,也就是说,这些用户在我们平台上的数据也是有关联的。简朴的说就是,这些众多企业用户的数据不能自力开。 我们给企业的官网固然是模板化的,客户只要在后台点击几下,稍作设置就可以天生它的官网。默认情形下,我们分配给客户一个子域名。虽然企业官网基本上没有什么人会看,可是客户百分百要求绑定顶级域名。这时间中国特色的备案难题就泛起了。 购置域名简朴,可是备案就较为贫苦。最先我们以为,这些客户都是正规客户,备个案应该也没啥。于是我们提供了治理后台,只要用户备案完成(固然我们会协助)后,填写好备案信息,提交我们审核后就ok了。可是真实操作后,发现着实是太繁琐了。大部门客户并不体贴备案,也不想相识备案,我们相同也十分贫苦。于是我们就想必须得提供不用备案的方式。 很直接能想到的固然就是把服务器放到外洋喽。可是思量到原来有备案的用户、海内会见速率等问题,直接把数据放外洋是不行的,以是最简朴的要领就是建设一个外洋署理。我的做法是,用户提交他购置的域名,然后我会给他一个cname地址,现实指向为一台外洋服务器。而外洋服务器上的署理(现实为Nginx)针对每一个域名,都转发到对应的平台子域名。这样的利益是,我们的代码险些不用改。 不外没过多久,客户就投诉了,说网站总是打不开,要么就很慢。缘故原由很快就找到,由于外洋服务器到海内服务器之间的网络不是很稳固,有时间并非岑岭期都不稳固,而且疑似有一定的周期性。可是海内网络会见那台外洋服务器却异常稳固。总之是个玄学问题,缘故原由预计是众所周知又不太好谈论的谁人。怎么办呢? 问题的要害是外洋服务器会见海内服务器的网络不稳固,以是只要把这一层去掉就好了。幸亏我们项目做了前后端分散,稍加修改,我把前端代码放到了外洋的服务器,而数据挪用直接用跨域的方式,后端只需要加一些支持跨域的头即可。这么一来,问题基本解决了。 不外厥后用户照旧以为慢,现实上是真的一点都不满。可是用户是爹,怎么办呢,改呗。由于数据请求现实上已经走了指向海内的域名,所谓的慢,主要在于用户第一次请求前端页面时较大的js、css文件,这种时间就只能上CDN了。改成了如下图所示。 用户第一步请求外洋服务器拿到很小的index.html,上面只引用了CDN地址(放到阿里云的CDN上了),第二步就是加载CDN上的文件,然后第三步会见数据。到这里,我已经想不出还能怎么优化了。 ps:这文章实在是一个实验,前端小哥问我怎么不写写手艺性的工具,我说手艺性的工具横竖也没人看,“屁话”才是有人看的,这篇虽然也并没有什么真正的手艺,可是好歹是手艺性的文章,以是拿来测试一下,你好,小白鼠
本文出自快速备案,转载时请注明出处及相应链接。