如果我需要有一台服务器,需要用到 Socket 直连,能否找到一种合理的方法让全球的用户都能很顺畅的方法呢?
我自己想到并且正在实现方法:
所以想一下有没有高人对这个熟悉的。
![]() | 1 Lentin 2016-11-24 10:03:21 +08:00 GCE ? |
![]() | 2 zlhdd108 2016-11-24 10:13:19 +08:00 via Android cn2 也仅是电信吧,如果是联通的话, cn2 也没什么效果… |
![]() | 3 mhycy 2016-11-24 10:14:54 +08:00 于是什么业务产生需要 Socket 长连接而且是直连的需求呢? |
![]() | 4 Zohar 2016-11-24 10:20:14 +08:00 via Android Anycast |
![]() | 5 Kilerd 2016-11-24 11:10:42 +08:00 via Android 物理限制,一台机子能全球访问都快的话。楼主就找到了突破光速的方法了,还搞什么计算机,快去写论文,拿诺贝尔物理学奖啊。 当然啦,这里的快说的是楼主说的 ping 值 |
![]() | 6 LGA1150 2016-11-24 11:23:16 +08:00 via Android CloudFlare 现在支持 socket 了 你也可以试试利用香港的 SNI 代理,我用来中转过 SSL VPN |
![]() | 7 Actrace 2016-11-24 11:24:47 +08:00 vxtrans |
![]() | 8 odirus 2016-11-24 11:26:06 +08:00 微林不是很好么? 我的目标主机在米国,一般我的链路方式是 US <-> JP <-> CN(AliBGP) |
![]() | 9 akira 2016-11-24 11:27:05 +08:00 jp 的节点,对新加坡和北美都算是比较友好的。 |
![]() | 10 pangliang 2016-11-24 11:52:01 +08:00 为什么非要这么干, 而不是布两个服务器? |
11 yuchting OP |
![]() | 12 Lentin 2016-11-24 16:33:42 +08:00 |
![]() | 13 mytsing520 PRO GSuite |
![]() | 14 mhycy 2016-11-24 16:44:30 +08:00 ![]() @yuchting 游戏类应用如果对延迟有要求的话,全球范围内能做到 300ms 以内延迟的单一服务器难度很高,但如果放低要求,欧美稳定且国内友好的方案而且允许使用跳板的话,方案还是有的。 1 、国内访问节点使用香港 PCCW 机房服务器做跳板(三网直连且出口友好没第二家了) (电信联通移动均友好,同类型服务器还有阿里云国际版香港区) 2 、主服务器使用日本机房(出口使用 NTT 线路,原因是覆盖足够广) 这样能做到北美、东亚(除中国)延时 300 以内(因为需要考虑美国西岸, 300 是保守值) 3 、东南亚使用新加坡机房,这个你懂的。 4 、欧洲方面,跳板放法国 /德国(中心点覆盖),如果机房有 NTT 线路,那么与日本主机房配合就是走 NTT 内网,延迟有保障(日本到欧洲能做到 300ms 以内, 220ms 是我这的正常值) 补充注意事项:中移动出口连接会不定时断流,无 RST ,程序逻辑务必在 TCP 之上实现额外的 Keepalive 逻辑 |
![]() | 15 zhoubug 2016-11-24 19:07:13 +08:00 via Android 你这个需求需要 机房遍布的 tcp 层转发服务提供商,网宿有个 APPA 就是类似这种服务,利用他们的机房分布给你解决接入,但海外接入还要再购买别的服务。说白了,机房够广的服务商才能给你解决,个人是用不起的。中间传输走他们的网络。 |
![]() | 16 cst4you 2016-11-24 19:27:54 +08:00 多点, 然后服务器间用优化的网络通信 |
![]() | 17 huangtao728 2016-11-24 19:36:10 +08:00 via Android ![]() GCE 台湾服务中国区域,其他区域可以: 购买 GCE Anycast IP ,缺点 贵 或者用 Cloudflare 的 Socket 加速 |
![]() | 18 Showfom PRO ![]() 用 GCE Softlayer Azure Leaseweb 这几家不通区域之间走内网的机房,不要用 Linode 这种全部走公网的机房即可 |
19 yuchting OP |
![]() | 21 anjunecha 2016-11-24 20:01:09 +08:00 via iPhone 推荐 GCE ,内网间网络极好 |
![]() | 23 mhycy 2016-11-24 20:33:14 +08:00 @yuchting 普通用户搞个国际版阿里云会方便一些,香港 PCCW 我也就用过,租用独立服务器暂时没见到有业务,托管业务应该可以联系香港 PCCW 直接询问。 |
24 yuchting OP @Showfom 开了几台 GCE ,日本、台湾、北美东西中部的机器,走的是内网,不过基本上延迟就是不理想。比如我把主服务器放在日本,然后通过美国中部 GCE 做一个跳板,他们之间的内网( Subnetwork ) ping 延迟在 120ms ,西欧直接 ping 日本的服务器 230 , ping 美国中部是 110ms ,基本上是相等的, 120+110=230 。有些机房 ping 测试会更慢一些。 感觉内网也没啥用。 感觉如果要求在 100ms 一下,看来只能分服了,分区运营,做不了统一大服。要么就只能维持现状。 刚才看到 Linode 有 Tokyo 2 了,于是我就放弃折腾了,新游戏的服务器就定在 Linode 东京了。 最后抱拳,谢谢各位 V 友大神们的帮助! |
![]() | 25 Showfom PRO ![]() |
![]() | 28 uncleroot 2016-11-25 08:48:30 +08:00 via Android 物理延迟是减不了的。还是分区运营吧 |
30 yuchting OP |
31 missdeer 2016-11-25 12:43:55 +08:00 纠结延迟的话要用 UDP 啊,就算一定要 TCP ,也要自己再应用层加个超时机制 |
32 yuchting OP ![]() @missdeer 这些上层程序上面的容错逻辑自然不必说。只是想做统一服务器,让所有的玩家在一个服务器上愉快的玩耍而已。 |
![]() | 35 Showfom PRO |
![]() | 36 Showfom PRO |
37 MapleEve 2016-12-04 22:48:58 +08:00 ![]() 已经完成过一套的表示,不购买大服务商的 socket 加速就别想。 akamai 就有,你可以咨询下报价 /huaji |