国外服务器上的用户数据不能独立开,怎么办?

优采云 发布时间: 2021-07-22 06:10

  国外服务器上的用户数据不能独立开,怎么办?

  我们的第一个项目是针对企业用户的,所以其中一个功能就是为公司做官网。这些用户虽然是独立用户,但平台为他们提供了交互功能,也就是说这些用户在我们平台上的数据也是相关的。简单来说,这么多企业用户的数据是无法独立分离的。

  当然,我们的企业官网是模板化的。客户只需在后台单击几下并进行一些配置即可生成其官方网站。默认情况下,我们为客户分配一个子域。虽然基本上没有人会去公司官网看,但是100%的客户都要求绑定顶级域名。这时候,中国特色的备案问题就出现了。

  

  

  买域名很简单,但是备案比较麻烦。一开始,我们以为这些客户都是老客户,准备案例应该没问题。所以我们提供一个管理后台,只要用户完成备案(当然我们会协助),填写备案信息提交给我们审核。但实际操作后,发现太麻烦了。大多数客户不关心归档,也不想了解归档。我们的沟通也很麻烦。所以我们认为我们必须提供一种无需备案的方式。

  当然可以考虑把服务器放在国外。但是考虑到已经备案的用户、国内访问速度等问题,直接把数据放到国外是不可能的,所以最简单的办法就是设立国外代理。我的做法是用户提交他购买的域名,然后我给他一个cname地址,这个地址实际上是指向一个国外的服务器。国外服务器上的代理(实际上是Nginx)将每个域名转发到对应的平台子域名。这样做的好处是我们的代码几乎不需要更改。

  

  

  但是没多久客户就投诉了,说网站总是打不开,或者很慢。原因很快就找到了,因为国外服务器和国内服务器之间的网络不是很稳定。有时在高峰期并不稳定,怀疑有一定的周期性。但是,国内网络访问那个国外服务器是极其稳定的。总之,这是一个形而上学的问题,原因很可能是众所周知的,不好说的。怎么做?

  问题的关键是国外服务器访问国内服务器的网络不稳定,去掉这一层就可以了。幸运的是,我们的项目已经将前端和后端分开了。稍微修改了一下,我把前端代码放到了国外的服务器上,数据调用直接跨域,后端只需要加一些跨域的header就可以了。这样,问题就基本解决了。

  

  

  然而,用户后来还是觉得慢,但实际上他们真的很不满意。但是用户是爸爸,我该怎么办,换个吧。因为数据请求实际上已经到了国内的域名上,所谓的慢主要在于用户第一次请求前端页面时js和css文件比较大。目前只能使用CDN。如下图所示。

  

  

  第一步,用户请求外部服务器获取一个小的index.html,只引用CDN地址(放在阿里云CDN上),第二步加载CDN上的文件,然后然后是第三个访问数据。这个时候想不出怎么优化了。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线