原创 2021网络系统流行架构

发布时间:2021-08-02 03:28:12 浏览 45 来源:猿笔记 作者:杨东冬

    看看网络系统的流行架构。系统的质量属性要满足客户需求,架构的取舍就是基于应用场景的偏好:纯软件实现上的需求主要是牺牲一些硬件的高性能,一般都采用x86的架构配合高速可编程的NIC和转发芯片(如支持P4),以业务驱动的负载均衡和网关系统为主,今天重点说一下2021年软件上的流行架构,业务驱动的网络系统在互联网行业需求很大。所以网络基础架构软件化不仅仅是管理统一的问题,还有具体业务的问题很难在通用设备上完美解决,软件实现虽然性能不行。收益主要体现在迭代迅速(需求满足的速度),所以暂时将引入硬件解决单点性能问题作为第二考虑的因素。


    #主题列表:

    #投稿主题:

    theme:juejin

    highlight:

    2021年,看看现在流行的网络系统架构。

    系统的质量属性要满足客户的需求,所以架构的第一出发点也是需求。

    有偏好的需求构成场景,架构的选择基于应用场景的偏好。

    网络系统在管道中的位置大致分为两类:

    # # # #蠢快型:内容不敏感,主要是切换和路由。比如各种交换机、路由器等设备,主要靠硬件。

    纯软件实现的要求主要是牺牲一些硬件的高性能来换取管理和维护的方便和统一,比如SDN和NFV。

    目前,为了实现硬件和软件的集成,一般采用x86架构,带有高速可编程网卡和转发芯片(如P4支持)。

    从而获得绩效和管理的双重优势。

    但本质还是矛盾的,硬件的专业化会带来管理的专业化,具体问题需要详细讨论解决。

    # # # #智能:内容感知,专注于业务驱动的负载平衡和网关系统。比如负载均衡,API网关等。,主要靠软件。

    今天,我们将关注2021年流行的软件架构。

    因为两种类型没有明显的界限,但是有一定程度的内容感知,所以业务驱动的网络系统在互联网行业需求量很大。

    所以网络基础设施的软件不仅是统一管理的问题,更是具体业务的问题,在一般设备上很难完美解决。

    虽然软件实现的性能不好,但其灵活性和硬件解耦带来的好处大于性能好处,其横向扩展能力也弥补了全局性能。好处主要体现在迭代速度快(需求满足速度)、硬件统一、部署灵活、运维简单。所以,引入硬件解决单点性能问题,暂且作为第二考虑。

    我们一层一层来说。

    ###eBPF-Passthrough

    2021年eBPF撑腰应该没什么争议。比较XDP和eBPF实现的DPDK,结合我们刚才提到的问题。DPDK还是有Intel和DPDK网卡的硬件限制。而eBPF系统约束较小,Kernel>4.8就够了。虽然性能稍弱,但可以在纯Linux上运行,可以在用户模式和内核模式之间灵活接口,迭代速度远高于DPDK。所以DPDK在软件上可以选傻快型,但是智能XDP更适合。

    以此为基础的项目有k8s网络组件Cilium,Facebook的业务负载均衡Katran。

    ###Cilium-Network

    迭代和硬件都完成了,我们来看看部署,部署:盒子,私有系统,各种云。通信是金属、虚拟机、容器等。因为eBPF的约束,没有操作系统的稀有金属不在讨论范围,更适合傻逼的方案。

    可以在各种部署下运行的网络是用户模式网络。只要XDP是内核遇到的Linux,Cilium就证明了DPDK更难和容器结合。所以eBPF更有优势。基于此的软件系统可以安装在任何Linux、VM、Docker上,各种环境的架构可以统一。

    未来的网络层应该还有其他的XDP用户协议栈方案。如果不需要路由交换的网络功能,可以直接结合应用,比如Katran。

    ###Envoy-Gateway

    Cilium解决网络问题,路由和交换,简单策略。但是业务意识也需要灵活的网关,我之前也研究过网关的选择。

    这里如果网络选择Cilium(主要是容器场景),最好的组合是特使。Evony在四层进行服务感知,进行服务级路由和网关,具有强大的策略配置驱动和插件机制,也是快速迭代的首选。

    虽然这里取的是K8S中的一个CNI图,但Cilium只能作为一个具有网络路由功能的用户模式协议栈,或者可以省略。

    ###Golang-Plugins

    使用通用网关驱动特定服务、插件或二次开发是不可避免的。Golang在平衡性能和迭代速度方面比C++、Lua、JavaScript和Rust有一定的优势。因为开发效率高,性能好。特使是C++,有开发门槛,但是插件系统比较完善,纤毛是Golang。

    WASM插件也是一个强大的解决方案,但今年,它的优势是早期,这是不值得的蜡烛。它与戈朗没有冲突,特使也支持WASM和LUA。

    但只要不是逻辑天天变,格朗中庸的综合例子就好一点。

    未来RustwithWASM很有想象力。

    # # #全家福

    为什么叫2021流行建筑,因为过几年可能会有更好的选择,就像XDP相对于DPDK的优势,符合DPDK诞生时没有的一些趋势,比如集装箱化。

    最后呈上这张原全家福,欢迎抄袭。

    在此基础上,可以快速满足大多数网络系统,包括服务路由(负载均衡)、WAF、API网关、单点认证、日志、QoS、跟踪系统等。并且可以独立部署、私有化和混合部署

作者信息

杨东冬 [等级:3] 爬虫猎手
发布了 2 篇专栏 · 获得点赞 1 · 获得阅读 211

相关推荐 更多