美文网首页
海房汇网站如何通过技术手段加速中国大陆访问网站速度

海房汇网站如何通过技术手段加速中国大陆访问网站速度

作者: 海豆豆 | 来源:发表于2014-09-01 22:04 被阅读0次

    海房汇 www.haifanghui.com 为澳大利亚的房地产开发商和中介提供服务,帮助他们将优质的房源出售给中国大陆的客户,总部设在澳大利亚悉尼。我们尽最大的努力帮助所有客户都尽可能快速的访问我们网站,网站服务器选址相对来说就比较困难了。

    技术优势会让我们站着打败竞争对手

    中国大陆和澳大利亚之间的网络连接速度非常糟糕,一般来说中国和澳大利亚的流量需要绕道美国西海岸,大约有1秒左右的延时,丢包现象也十分严重。

    将服务器放置在澳大利亚,澳大利亚本地的客户当然会很开心,网站打开速度也很理想,但是位于中国大陆的客户就不开心了,网站时断时续,打开速度也很慢。同理,如果服务器放在中国大陆,澳大利亚的客户们也会抱怨网站速度慢,管理界面打不开。

    海房汇的网站是一个典型的读写不平均网站,在中国大陆,绝大多数流量都来自于潜在购房者,读取流量居多,而在澳大利亚本土,访问基本来自于房地产中介、开发商以及工作人员。

    经过一段时间的摸索,我们推出了一套创新性的服务器系统,我们在澳大利亚悉尼和日本都各自安装了独立的服务器,两台数据库服务器通过 MySQL Async Master-Master 同步。这种设置帮助我们同时在澳大利亚和中国以最快的速度为我们的客户提供服务。

    海房汇有两台前端服务器,分别是 au-01.haifanghui.com 和 jp-01.haifanghui.com。当客户访问我们的网站www.haifanghui.com时,所有的 DNS 问询都有 AWS Route53 解析。如果当前用户来自于中国大陆,Route53 将返回 jp-01.haifanghui.com,这样对于位于中国大陆的访问者来说,他们事实上访问的是一台位于日本的服务器。同理,如果当前用户来源于澳大利亚,Route53 将返回 au-01.haifanghui.com,这样澳大利亚的客户将直接由澳大利亚的服务器负责响应。通过访问者的物理位置,我们使用最靠近访问者的服务器提供服务,保证了访问速度。

    数据库的增删更新操作会通过 MySQL 的异步复制到另外一台服务器上。

    这套系统能正常使用依赖于两个假设

    * 假设1:新增的房产在 MySQL 同步完成之前不会在另外一台服务器上被读取。

    * 假设2:客户浏览器在解析域名的时候,会遵守 TTL 设置。

    我们的 DNS TTL 设置的是大约5分钟,数据库服务器的同步时间大约是在 10 秒之内。虽然理论上来说,客户每次写操作之后都有 3% 的几率切换了服务器,并且新的服务器所读取得数据库没有更新,但是考虑到 Route53 对于客户端 IP 的地理位置解析相对稳定,实际上用户服务器切换的概率非常小,因此每次用户访问我们网站,服务他们的数据库服务器应该还是同一个。

    通过这些技术手段,我们终于可以为澳大利亚和中国大陆的客户同事提供无障碍的高速访问。

    当然,这样的设置也会有一些局限性,比如无法使用大批量的更新操作等等。这些问题目前来说并不是我们需要解决的主要问题。

    如果你对我们的细节感兴趣,或者有更好的方法帮助我们改进架构,帮助中国和澳大利亚的投资者和房地产业,我们正在招募全栈软件工程师,大家不妨聊一聊,请发邮件至 career@haifanghui.com

    相关文章

      网友评论

          本文标题:海房汇网站如何通过技术手段加速中国大陆访问网站速度

          本文链接:https://www.haomeiwen.com/subject/ideytttx.html