In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-24 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >
Share
Shulou(Shulou.com)06/03 Report--
2021 what is the popular architecture of the network system? in view of this question, this article introduces in detail the corresponding analysis and answers, hoping to help more partners who want to solve this problem to find a more simple and feasible way.
In 2021, look at the popular architecture of network systems.
The quality attribute of the system should meet the needs of customers, so the first starting point of the architecture is also the demand.
The demand with preference constitutes the scenario, and the choice of architecture is based on the preference of the application scenario.
The position of the network system in the pipeline can be roughly divided into two categories:
Stupid and fast type: content is not aware, mainly switching and routing. Such as a variety of switches, routers and other equipment, mainly rely on hardware.
The requirement of pure software implementation is mainly to sacrifice the high performance of some hardware in exchange for the convenience and unity of management and maintenance, such as SDN,NFV.
At present, in order to integrate hardware and software, x86 architecture is generally used with high-speed programmable NIC and forwarding chip (such as supporting P4).
To gain the double advantages of performance and management.
But the essence is still contradictory, the specialization of hardware will bring the specialization of management, and the specific problems need to be discussed and solved.
Intelligent: content-aware, based on business-driven load balancing and gateway systems. Such as load balancing, API gateway and so on, mainly rely on software, today we will focus on the popular architecture of software in 2021.
Because there is no obvious distinction between the two types, but there is a degree of content awareness, business-driven network systems are in great demand in the Internet industry.
Therefore, the software of network infrastructure is not only the problem of unified management, but also the problem of specific business is difficult to be solved perfectly on general equipment.
Although the performance of the software implementation is not good, the benefits of its flexibility and decoupling of hardware are greater than the performance benefits, and its scale-out ability also makes up for the overall performance. The benefits are mainly reflected in rapid iteration (speed of demand satisfaction), unified hardware, flexible deployment and simple operation and maintenance. So for the time being, we will introduce hardware to solve the single point performance problem as the second consideration.
Let's talk about it one floor at a time.
EBPF-Passthrough
There should be no dispute about the bottom of eBPF in 2021. Compare XDP and DPDK implemented in eBPF, combined with the problems we just talked about. DPDK still has the hardware constraints of Intel,DPDK network cards. On the other hand, the constraint of eBPF system is even smaller, Kernel > 4.8is fine. Although the performance is slightly weaker, it can be run in pure Linux, can be flexibly interfaced in user mode and kernel mode, and the iterative speed of requirements is much higher than that of DPDK. So you can choose DPDK to be stupid and fast in software, but intelligent XDP is more suitable.
The project based on this is the business load balancing Katran of Cilium,Facebook, a K8s network component.
Cilium-Network
When the iteration and hardware are over, let's look at deployment, deployment: boxes, private systems, various clouds. The corresponding is Metal,VM, container, etc. Because of the constraints of eBPF, pure Metal without an operating system is out of the scope of discussion, which is still a foolish solution.
The network that can run under various deployments is the user-mode network. As long as the XDP kernel satisfies the Linux,Cilium, it has been proved that when combined with containers, DPDK is more laborious. So eBPF has more advantages. The software system based on this can be installed on any Linux,VM,Docker to unify the architecture of various environments.
In the future, there should be other XDP user protocol stack schemes in the network layer. If the network function of routing and switching is not needed, it can be directly combined with applications, such as Katran.
Envoy-Gateway
Cilium solves network problems, routing and switching, and simple strategies. But business awareness also requires flexible gateways, which I have studied before.
Https://donge.org/posts/envoy-vs-traefik/
If the network chooses Cilium (mainly container scenario), then it is best to combine Envoy,Evony for business awareness at layer 4, routing and gateway at the business level, with powerful policy configuration drivers and plug-in mechanisms, which is also the best choice for fast iteration.
Although a graph of CNI in K8S is taken here, Cilium can only be used as a user-mode protocol stack with network routing function, or it can be omitted.
Golang-Plugins
Using a general gateway to drive specific services, plug-ins can not be bypassed, balancing performance and iterative speed, Golang has a slight advantage over Luajue JavaScript Rust in terms of performance and iteration speed. Because of development efficiency and good performance.
Of course, the WASM plug-in is also a powerful solution, but this year there are still advantages early, the loss outweighs the gain. And it doesn't conflict with Golang, Envoy also supports WASM and LUA.
But as long as it is not the logic that changes every day, the comprehensive example of Golang Doctrine is slightly better.
Rust with WASM also has great potential in the future.
Stewed Assorted Delicacies
Why it is called 2021 popular architecture, because there may be a better choice in a few years, just as XDP has an advantage over DPDK and conforms to some trends that DPDK was not born with, such as containerization.
Finally, we present this original family photo. Plagiarism is welcome.
On this basis, it can quickly satisfy most network systems, including service routing (load balancing), WAF,API gateway, single point authentication, log, QoS, tracking system and so on. And can be deployed with stand-alone, privatized, hybrid cloud environments and other hardware-free environments.
Although the performance is in the second echelon, the choice of XDP,Golang is also the king of the second echelon. The hotspots of network performance are more likely to be in IO, concurrency (locking), encryption / decryption / compression and anti-compression (computing), and their solution has never been in which language, there is a chance to discuss it again.
P.S. K3s is lightweight K8S, which is suitable for small system deployment.
The answers to the questions about the popular architecture of the 2021 network system are shared here. I hope the above content can be of some help to you. If you still have a lot of doubts to be solved, you can follow the industry information channel for more related knowledge.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.