转载

视频访谈: 沙开波:腾讯云的网络架构

沙开波: 腾讯云刚开始的网络的基础架构,就没有往VPC的方向发展。刚开始我们很简单,初衷就是一个大三层,大三层在云里面其实有一些问题,它的IP地址不能跨交换机做迁移。但是在云里面我们最大的优势是主机可以随意的在整个机房里面做迁移。这样的话硬件故障宕机,或者硬件有一些潜在问题,我可以快速的把虚机漂移出去,漂移到另外一台宿主机里面。所以刚开始就是做大三层,后来变成二层,二层可以解决跨交换机迁移的问题。但是大二层里面又带来一些广播的问题,腾讯历史上也出现过一些这样的故障,因为IDC里面的网络广播风暴,把整个IDC的网络打垮了。在这以后我们就下定决心要做一个基于三层网络架构的overlay的网络。那时候我们才考虑通过软件方式实现这么一个IP可迁移的能力。

2.

沙开波: 应该是前年年底的时候。你刚才说到当VPC里面规模比较大的时候,东西向流量可能是一个瓶颈,这个在我们刚开始设计overlay网络的时候就考虑到了,我们希望一个VPC里面所有的节点之间的通信都是点对点的,它会经过一些集中式的网络节点,直接找到下一跳,这样解决东西向流量的性能瓶颈问题。

另外一个你刚才也说到控制平面,当我们的VPC规模很大的时候,怎么样把配置快速可靠的下发到每一个宿主机上面,这个像你刚才说的业界有垂直的有水平的,我们其实还是从自己的资源角度设计了一套全分布式的配置下发的框架。这个框架从配置下发的业务特点来看,写量并不多,写量就是里面增加一台虚拟机或者销毁一台虚拟机,或者虚拟机跨机器迁移的时候,这些配置会发生变化需要写到配置中心,真正稳定的情况下对写的要求不高,但是对读的要求很高。所以我们这个分布式集群主要focus在读的性能可扩展性上面。

现在我们每一个宿主机上面有agent程序,可以动态的获取这台机器上面需要哪些配置,它主动的从配置中心里面读取相应的配置,当配置中心数据有变化的时候,也马上能够感知到。一台虚拟机如果宿主机IP变了也能马上感知到。大概是这样样子。

沙开波: 好处我觉得是比较明显的,DPDK这个技术它能够解决什么样的一个问题,这个比较明显。但是从我们实际的应用场景来看,我觉得还是要看现在我们业务面临的问题,或者我现在要解决一个什么样的业务场景,去看这个技术是不是放到我们这里是OK的。说简单一点,DPDK解决了一个多核情况下的网络性能转化的问题,这样的技术,它其实在网关类的服务上面是有很好的表现的。所以我们这边一些网关类的服务,比如说VPC网络要和外面的网络进行通信,肯定会需要有一个边界的网关,这个边界的网关用DPDK做比较合适。

沙开波: 腾讯云的基础网络最大的问题是用户不能在这个基础网络里面自己去规划网段。用户比如说在基础网络里面买一台虚拟机,这个虚拟机它的IP其实是散列的,不是连续的,这样如果你要跟外面的网络去做扩展的话,只能是IP到IP的打通,但是在VPC里面,因为用户可以自己去定义网络,定义网段,而且我们有自定义路由的能力。当这个VPC要和外面的网络打通的时候,很简单,只需要在VPC自定义路由表上面配一条路由,直接就达到网段到网段的打通,这样平行扩展起来是很方便。假如他自己有一个数据中心,现在有一个vpc网络,只需要配一条路由就可以把两个网络打通。

5. 那配这个路由表不会很大吧?

沙开波: 因为是网段到网段的打通,如果数据中心只有一个网段的话就只需要配一条路由,就看对端里面数据中心的网段是怎么分布的。

6. 就不存在水平扩展这个问题?

沙开波: 对。

7. 腾讯云这边是计算密集型比较重?还是?

沙开波: 怎么说呢,腾讯云是一个公有云,上面跑了各种各样的服务,有些用户可能是计算密集型,有些可能是网络密集型,从整体上来看的话,用户一般对机器的负载用的不是很满。整体负载,不管计算还是网络都处于比较低的水平。

9. 目前腾讯云单个VPC的规模有多大?

沙开波: 产品层面的话最大支持一个B段,65535的规模。

10.

沙开波: 刚才也有一些提到,南北向控制平面的数据的管理,我们其实是用的一个分布式的集群服务来做的。我们所有跟网络相关的配置,都放到这个集群里面管理。这个集群它有一个特点是读的性能是可以平行扩展的,基本上性能不够了可以加一台机器解决性能问题。所有的宿主机上面的虚拟交换机需要的配置,都是通过拉取的方式去把配置拉下来。我们的读性能是没有瓶颈的,下面的节点规模是可以无穷大的。所以基本上现在我们一个模块,几千台的物理机,几万台的虚拟机这个量级不成问题。

沙开波: 我们有一些服务,比如VPN服务是采用了联合厂商一起做的一个NFV的解决方案,以后我们也是希望有更多的厂商能够把他的NFV的服务放到我们的服务市场里面去,这样的话,跟厂商一起去建设服务市场,通过NFV的解决方案,给到客户一些更多的网络功能。

沙开波: 腾讯现在整个产品的框架,最底层是一个最基础的IaaS平台,里面有云主机,负载均衡,VPC的能力,cbd,cmem,一些存储的服务,上面是有很多面向各个垂直行业的解决方案,游戏的、视频的、金融的还有移动的等等。从IaaS平台来看的话,我是觉得这相当于一个个积木,用户来到腾讯云可以通过IaaS平台里面的一个一个积木,一个一个功能,一个一个服务,去构建满足自己业务需求的解决方案,通过我们的积木搭建自己的系统。

15. 腾讯云未来可能更focus在底层?

沙开波: 底层,对。但是刚才说了行业也是我们的一个方向,为什么会有移动解决方案?游戏解决方案?这个其实是本身我们腾讯云或者说腾讯公司,它一年来在这个行业里面积累下来的一些能力,把这些能力做成服务,通过公有云这样一个出口开放给用户直接去用。包括以后比如说即时通讯这样的服务,也可以做成一个解决方案给到用户。

原文  http://www.infoq.com/cn/interviews/interview-with-shakaibo-talk-tencent-cloud-network-architecture
正文到此结束
Loading...