这次咱们从根源聊:16招搞定高并发架构设计( 九 )

5、更快的网络

这里提到更快的网络意思是纯网络层面的链路,我们是否理清楚了到底是怎么走的,比如:

调用其它团队内部服务域名公网解析还是内网解析?访问链路走的是公网还是内网?我们是如何调用其它服务的?详见《朱晔的互联网架构实践心得S2E4:小议微服务的各种玩法》经过多少防火墙、反向代理?走HTTPS还是HTTP?如果是走公网走的是机房什么出口?是长连接还是短链接(特别是HTTP请求)?归根到底就是我们最好能了解这些外部服务在网络层面花费的情况是否达到预期,比如一个外部服务调用我们看到耗时1秒的时间,拼命追着下游去优化服务,但是下游说为服务端执行时间只有30ms呀?

结果一查发现整个调用跨了4个机房走了2次公网2次专线,然后还经过了4个网关转发,这些东西耗时970ms,这就很尴尬了。

我觉得一个能接受的情况是内网调用网络损耗在5ms以内,公网调用在50ms以内(跨国除外)。

对于大并发的系统来说任何一个环节增加很少的延时可能都会导致最前端超时或队列溢出。

推荐阅读