V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
colordog
V2EX  ›  云计算

数据库放在国外,网站在国内,对于网速方面,有啥好运营商选择呢

  •  1
     
  •   colordog · 2017-05-01 08:42:56 +08:00 · 11296 次点击
    这是一个创建于 2767 天前的主题,其中的信息可能已经有所发展或是发生改变。

    事情是这样的,由于 bei'an 原因网站必须放在国内,目前用的是阿里云北京区,然而客户有需求要求数据库放在境外公司,网站图片部分也要优先选择境外。

    现在问题来了,找了好几家网络提供商,速度都不理想,现在用了日本樱花的,阿里云服务器 ping 过去是 140-180ms,但是当数据库启用日本服务器,web 用阿里云北京区的时候,网站速度明显慢了很多。

    不知道你们有什么好的解决方案没有啊。

    65 条回复    2017-05-02 15:34:00 +08:00
    bigzhu
        1
    bigzhu  
       2017-05-01 08:46:35 +08:00 via Android
    买个阿里香港双线主机做代理
    hippoking
        2
    hippoking  
       2017-05-01 08:53:17 +08:00
    用阿里云 HK 和 阿里云华南 1 区

    延迟很稳定,12ms
    mhycy
        3
    mhycy  
       2017-05-01 09:06:25 +08:00
    国内反代,源服务器放国外。
    不然应用层逻辑的性能会受制于延迟
    colordog
        4
    colordog  
    OP
       2017-05-01 09:35:45 +08:00
    @hippoking 要求境外公司,具体原因你懂得,而不是服务器放国外
    colordog
        5
    colordog  
    OP
       2017-05-01 09:36:39 +08:00
    @mhycy 例如,web+mysql 全部在日本,然后阿里云做反代,阿里云到日本的延迟是 180ms,这个用户使用会明显感觉访问慢么
    colordog
        6
    colordog  
    OP
       2017-05-01 09:37:15 +08:00
    @bigzhu 日本——阿里云香港——阿里云北京,这个路径是不是太多了
    defunct9
        7
    defunct9  
       2017-05-01 09:40:23 +08:00 via iPhone
    这个难道不能 mysql 做个主从,主阿里,从日本么
    ioioioioioioi
        8
    ioioioioioioi  
       2017-05-01 09:57:14 +08:00
    MySQL 主从会很痛苦的。境外需要有网站服务器,国内的域名 proxy 到境外的服务器。我司也才最近这样调整的,生活美好多了。
    colordog
        9
    colordog  
    OP
       2017-05-01 10:03:53 +08:00
    @defunct9 主从?阿里云为主?客户需求是数据库不放国内,而不是要在国外备份
    marlboros
        10
    marlboros  
       2017-05-01 10:04:48 +08:00
    百度:日本服务器,然后开始 1-10 排名联系客服,提供测试 IP,开始 PING,哪个快就选择哪个。
    ioioioioioioi
        11
    ioioioioioioi  
       2017-05-01 10:05:18 +08:00
    如果对客户 IP 访问没有限制,可以服务器放在国外,国内用 CDN 就可以了。
    colordog
        12
    colordog  
    OP
       2017-05-01 10:05:23 +08:00
    @ioioioioioioi 你们怎么调整的,主从么?我遇到这个是数据坚决不能交给国内运营商,哪怕是境外运营的国内运营商,例如,某里,某鹅
    marlboros
        13
    marlboros  
       2017-05-01 10:05:50 +08:00
    然后可以找一家免备案的 CDN 加速供应商
    defunct9
        14
    defunct9  
       2017-05-01 10:06:11 +08:00 via iPhone
    @colordog 反过来。主日本,从阿里。或者双主呢
    colordog
        15
    colordog  
    OP
       2017-05-01 10:06:29 +08:00
    @marlboros 目前测试的樱花的,找日本人买的,140-180ms,已经算快得了,但是如果只放数据库过去,国内这边做 web 直接读取数据库,网站速度仍然受到影响,而且很大
    colordog
        16
    colordog  
    OP
       2017-05-01 10:06:51 +08:00
    @marlboros 这个的确没考虑过诶
    colordog
        17
    colordog  
    OP
       2017-05-01 10:07:42 +08:00
    @defunct9 咱能不考虑数据放阿里么,不管是不是主从,客户的需求是:数据库不允许给境内注册的企业。这是硬条件,所以说主从也不能提阿里
    ioioioioioioi
        18
    ioioioioioioi  
       2017-05-01 10:08:33 +08:00
    @colordog 之前是双主,很痛苦,经常出现问题,后来改为服务器完全在国内,国内只是 proxy 到香港,香港 proxy 到美国,现在就非常爽了。如果你没有 IP 限制的话,可以服务器放国外,国内直接用 CDN,更简单、便宜。
    o00o
        19
    o00o  
       2017-05-01 10:10:14 +08:00
    数据库和 web 不要跨机房!
    colordog
        20
    colordog  
    OP
       2017-05-01 10:11:06 +08:00
    @ioioioioioioi 恩,我觉得这种方案可以考虑试试。
    colordog
        21
    colordog  
    OP
       2017-05-01 10:11:46 +08:00
    @o00o 恩,所以现在考虑全弄境外,国内反代? CDN ?
    defunct9
        22
    defunct9  
       2017-05-01 10:17:08 +08:00 via iPhone
    噢,明白了。那就都扔境外。境内代理就好。用白山云的 cdn 也可,自己架个 nginx 也可
    zjqzxc
        23
    zjqzxc  
       2017-05-01 10:22:15 +08:00
    国内服务器上个内存缓存或缓存数据库,写操作异步更新到国外的数据库
    xingtian
        24
    xingtian  
       2017-05-01 10:29:10 +08:00
    网站跟数据库放国外,用 cdn 不就得了,国内的访问解析国内 ip,国外的访问解析国外 ip。
    wangxiaodong
        25
    wangxiaodong  
       2017-05-01 10:33:37 +08:00
    我用的是 Google Cloud Platform,分配了个台湾彰化县的固定 IP 地址,ping 值只有 50ms 多,域名也都转过去了,推荐大家使用。

    Google Cloud Platform 云平台 300 美金免费体验教程 - https://url.openle.com/go#url=https://news.congci.com/-/content/google-cloud-platform-yun-pingtai-zhengnian-mianfei-tiyan
    caola
        26
    caola  
       2017-05-01 12:22:45 +08:00
    那建议你的网站做成前后端分离,前端放国内,后端放国外,所有内容通过 api 调用
    moguv587
        27
    moguv587  
       2017-05-01 12:38:27 +08:00 via iPhone
    简单啊,网站和数据库都放境外,国内弄个反代,完美
    maskerTUI
        28
    maskerTUI  
       2017-05-01 12:51:09 +08:00 via Android
    数据库和网站都放国外,国内搞个 iframe 或者反代什么的网站挂一下。
    l9rw
        29
    l9rw  
       2017-05-01 13:05:57 +08:00
    阿里云香港给国内用,数据库放 google cloud
    swsh007
        30
    swsh007  
       2017-05-01 13:10:00 +08:00 via Android
    没这么玩的,数据库和 web 跨机房都慢,跨国境就别想了。建议做个国内版应付一下,国际版直接跳走比较好。
    mytsing520
        31
    mytsing520  
       2017-05-01 13:20:26 +08:00
    全部放境外,然后境内反代
    mhycy
        32
    mhycy  
       2017-05-01 13:47:59 +08:00
    @colordog

    假设你的 MySQL 服务器在香港,主服务器在国内,链路延迟在 20ms
    页面 4 个查询,那么不计算查询时间与数据传输时间,在链路上需要消耗 20*4=80ms 的查询时间

    这是在链路延迟 20ms 的情况下考虑的,而实际上要达到 20ms 延迟,国内服务器必然需要在广东省境内。
    而北方用户访问的时候另外还有 40ms 的国内路由延迟需要计入。
    总计 80+40=120ms 延迟。

    能保证每个页面都只有 4 个查询而且数据量小到可以忽略不计么?

    如果主服务器与数据库均在境外,那么 120ms 的链路延迟可以做到在祖国大西北覆盖整个东南亚的直连机房。
    所以直接反代是最理想的选择。

    (更别说境外的计算资源与带宽资源远比国内便宜,做反代就好)
    mhycy
        33
    mhycy  
       2017-05-01 13:48:44 +08:00
    @colordog
    另:我的美西 VPS 都没 180ms 延迟,这是哪个破服务器
    colordog
        34
    colordog  
    OP
       2017-05-01 14:13:44 +08:00
    @mhycy 阿里云背景到樱花北海道服务器,140-180,晚上高峰大概 200
    colordog
        35
    colordog  
    OP
       2017-05-01 14:14:04 +08:00
    @mytsing520 恩,现在看这是最好的方案了
    colordog
        36
    colordog  
    OP
       2017-05-01 14:14:56 +08:00
    @swsh007 现在初步基本想反代了,还有不存在境外用户,用户就是国内的,但是数据库不放国内,客户要求,原因呢,呵呵。
    colordog
        37
    colordog  
    OP
       2017-05-01 14:15:40 +08:00
    @l9rw 阿里云香港,不行吧,服务器在阿里云香港能备案?已经备案的都怕给我干掉了
    colordog
        38
    colordog  
    OP
       2017-05-01 14:16:23 +08:00
    @wangxiaodong google 的,国内服务器都访问不到吧,好像阿里云服务器 ping cloud.google.com 是不通的。
    colordog
        39
    colordog  
    OP
       2017-05-01 14:17:02 +08:00
    @caola 这方法好,但是是需要我吧现有的网站全部重写一下么?估计客户要砍死我
    l9rw
        40
    l9rw  
       2017-05-01 14:24:46 +08:00
    @colordog #37 只要服务商是阿里云就不用重新备案,再说阿里云香港不用备案。
    jarodwang
        41
    jarodwang  
       2017-05-01 14:32:37 +08:00 via Android
    服务器放广东,数据库放香港,两边找服务商提供 MPLS 或 L3 连接。
    exiaohao
        42
    exiaohao  
       2017-05-01 14:40:02 +08:00
    不差钱的话上 IEPL 啊
    差钱就主从吧,国内读,写丢国外。不过这个不排除会有什么奇奇怪怪的问题
    azuis
        43
    azuis  
       2017-05-01 14:47:08 +08:00 via iPhone
    如果有备案的话,直接用阿里云的 CDN 就好了。源站和数据库放一起都放同一个机房。
    yankebupt
        44
    yankebupt  
       2017-05-01 15:36:21 +08:00 via Android
    不知库放国内但是高强加密,同时异步到境外满足要求不,会不会出什么样的问题......外行不懂所以打听一下,不知道查加密查的严不严....
    Devmingwang
        45
    Devmingwang  
       2017-05-01 16:12:59 +08:00
    槽。
    WEB+MYSQL 全放国外然后再来个 CDN 不就好啦?或者是找上海的阿里云反代。
    wangxiaodong
        46
    wangxiaodong  
       2017-05-01 16:14:11 +08:00
    @colordog Google 云主机管理后台通常要走 VPN,程序员基本功,但域名解析和主机网络跟 Google 能不能访问没关系,你只要将域名指向到台湾机房 IP 即可,你可以 ping 下我在台湾机房的网站: https://congci.com
    jsq2627
        47
    jsq2627  
       2017-05-01 16:29:13 +08:00 via iPhone
    azure 北京上海和 azure 国际东亚(香港)有专线的,比较稳定
    colordog
        48
    colordog  
    OP
       2017-05-01 16:31:46 +08:00
    @l9rw 谢谢
    colordog
        49
    colordog  
    OP
       2017-05-01 16:32:51 +08:00
    @jarodwang 这个方案还是算了吧,如果做 ICP 证,公司注册在北京,web 放在广州基本没戏了
    colordog
        50
    colordog  
    OP
       2017-05-01 16:33:07 +08:00
    @exiaohao 谢谢
    colordog
        51
    colordog  
    OP
       2017-05-01 16:33:29 +08:00
    @azuis 回头试试效果
    colordog
        52
    colordog  
    OP
       2017-05-01 16:34:45 +08:00
    @yankebupt 高强度加密,牛啊 ,没那技术,而且人家注明了要物理放在外面,且不相信加密,一些交易数据如果被人把服务器拿走,啥加密啊,对于技术不牛来说
    colordog
        53
    colordog  
    OP
       2017-05-01 16:36:02 +08:00
    @wangxiaodong VPN 知道,我以为 google 云上所有主机都被 qiang 了呢,原来只有 google 的域名啊,还有你的域名是台湾么,为啥 ip138 上说是美国呢,ping 确实不高
    wangxiaodong
        54
    wangxiaodong  
       2017-05-01 17:00:19 +08:00
    @colordog 换个 ip 在线查询库试试,我在 google 云选择的区域是 asia-east1,申请了 2 次就分配到了这个 104.155.x.x 开头的 ip 地址,台湾离大陆还是挺近的,你也可以不翻墙,通过 hosts 来解决访问 google 的障碍。
    breeswish
        55
    breeswish  
       2017-05-01 17:21:49 +08:00
    azure 中国区和 azure 国际区有专线,带宽在 100Mbps 以上,理论上够用
    chinafeng
        56
    chinafeng  
       2017-05-01 17:31:25 +08:00
    备案后不一定要放大陆啊, 你有备案号以后, 可以放大陆外的
    jasontse
        57
    jasontse  
       2017-05-01 17:38:52 +08:00 via iPad
    不建议把数据库放那么远,这样后端逻辑服务器效率太低。能缓存的放在前端缓存是一样的。
    MasterMonkey
        58
    MasterMonkey  
       2017-05-01 19:11:07 +08:00 via iPhone
    移动 100M 或者 1G 宽带可以吗?移动连接国内和国际都超快!毕竟移动有移动国际的线路,没必要限制速度,就是可能偶尔不稳定!
    jarodwang
        59
    jarodwang  
       2017-05-01 21:11:38 +08:00 via Android
    @colordog 深圳到香港的 Direct 线路时延可控制在 12ms 左右,但北京过来有 100ms 以上的时延。
    longquanwo
        60
    longquanwo  
       2017-05-01 21:17:10 +08:00
    azure 没有比他家更好的了
    msg7086
        61
    msg7086  
       2017-05-02 00:53:28 +08:00
    数据库不放国内好像是违法的?我也不清楚但是依稀记得新出台的法律有规定……
    tadtung
        62
    tadtung  
       2017-05-02 05:14:27 +08:00
    你的客户要求好奇葩啊,,,做的黑产吧。。。

    最佳方案是站点数据库都放在国外,日本或者西海岸都行。web 前端,用国内的阿里云反代就行,既然你备案了上国内的 cdn 也行。
    web 和数据库最好不要分开,你 web 和数据库国内外分开,站点响应速度能快才怪。。

    Sakura VPS 速度还行,,不过稳定性一般,电信常抽,,我自己建站主要还是用 linode 的。
    mytsing520
        63
    mytsing520  
       2017-05-02 09:08:39 +08:00
    这个客户是做什么网站的,要求如此奇葩
    bleachbl
        64
    bleachbl  
       2017-05-02 09:43:07 +08:00
    中华电信的 Hinet 不错 推荐

    话说客户在国内 却要求数据库放国外 有点奇怪
    sampeng
        65
    sampeng  
       2017-05-02 15:34:00 +08:00
    只有反代是最合理的选择。
    分离 web 和数据库,最容易堵塞。
    一般都有连接池,或者最大连接数。这个数肯定不会大于实际的网页访问的连接数的。如果分开了 web 和数据库。那最直接的反应就是连接池拥堵和最大连接数拥堵。恶性循环。。这就要去解决两个问题。。web 到服务器的延迟,以及产生拥堵怎么搞。

    还有,反代丢包只是慢一点打开网页。那 web 和数据库连接丢包了会怎样呢?每天一到晚上梯子就谜之丢包。。。

    反代只需要解决一个问题。。你代理机到服务器的延迟。。这个可不仅仅只是反代这么简单。
    比如我们梯子用 vnet 做通道加速,我看了一下,我直接 ping 是 100ms。但加速后却只有 60ms 了。而且不丢包!!
    这也可以用在反代上的,当然,流量会很贵。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5977 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 116ms · UTC 02:06 · PVG 10:06 · LAX 18:06 · JFK 21:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.