4 Repos
Transfers data between sockets directly at the kernel level to avoid copying through user space.
Distinct from Zero-Copy Data Access: Distinct from general zero-copy data access: specifically uses the splice() system call for network socket data transfer.
Explore 4 awesome GitHub repositories matching data & databases · Kernel-Level Data Splicing. Refine with filters or upvote what's useful.
Hertz is a high-performance Go HTTP framework designed for building scalable microservices, RESTful APIs, and AI applications. It functions as a high-performance web server and a communication framework for microservices, utilizing non-blocking I/O and zero-copy memory management to handle high-concurrency traffic. The project distinguishes itself through a microservices communication toolkit that supports high-efficiency remote procedure calls via gRPC and Thrift protocols. It implements an asynchronous middleware engine based on an onion model, allowing for a pluggable request-response pipe
Uses zero-copy APIs to send and receive data between processes and the kernel, avoiding memory buffer duplication.
HAProxy is a high-performance TCP and HTTP proxy that distributes traffic across multiple backend servers to ensure availability and fault tolerance for critical services. It operates in either TCP or HTTP mode, with an event-driven, single-threaded reactor that handles tens of thousands of connections without context switching, and supports kernel-level data transfer to minimize memory usage and latency. What distinguishes HAProxy is its configuration-file-first design, where all load-balancing rules and runtime behavior are defined in a declarative text file parsed at startup. It embeds a L
Transfers data between client and server connections directly at the kernel level to reduce memory usage and latency.
3proxy ist ein Multi-Protokoll-Proxy-Server und Netzwerkzugriffskontroll-Gateway. Er fungiert als Netzwerk-Traffic-Forwarder, der in der Lage ist, TCP- und UDP-Traffic über HTTP, SOCKS sowie verschiedene E-Mail- und Dateiprotokolle zu routen. Das Projekt bietet spezialisierte Funktionen für die sichere Traffic-Inspektion, einschließlich der Entschlüsselung und Analyse von HTTPS- und TLS-Streams durch Zertifikats-Spoofing und gegenseitige Authentifizierung. Es unterstützt zudem die Anonymisierung der Client-Identität durch das Routen ausgehenden Traffics über rekursive Upstream-Proxy-Ketten. Die Software deckt ein breites Spektrum an Netzwerkmanagement-Funktionen ab, einschließlich Protokoll-Routing für FTP, POP3 und SMTP sowie Port-Forwarding und IPv4/IPv6-Bridging. Sie enthält administrative Tools für Bandbreitendrosselung, Verbindungsbegrenzung und Echtzeit-Inhaltsfilterung unter Verwendung regulärer Ausdrücke zur Modifikation von Payloads und Headern. Sicherheit und Observability werden durch richtlinienbasierte Zugriffskontrolle, RADIUS-Identitätsprüfung und umfassende Protokollierung der Netzwerkaktivitäten mit automatischer Rotation gehandhabt.
Optimizes network throughput by using the splice system call to minimize data copying between kernel and user space.
Dieses Projekt ist eine technische Referenz und eine Sammlung interner Analyse-Notizen, die sich auf die Go-Sprach-Runtime und den Compiler konzentrieren. Es bietet eine detaillierte Aufschlüsselung der Interna der Sprache, einschließlich Speicherverwaltung, Garbage Collection und des Ausführungsmodells des Schedulers. Das Material zeichnet sich durch Deep-Dives in Low-Level-Systemdetails aus, einschließlich einer Referenz für Go-Assembly-Instruktionen, Register-Nutzung und System-Call-Interfacing. Es analysiert spezifisch die interne Implementierung von Concurrency-Primitiven, wie den Goroutine-Scheduling-Mechanismus, Channel-Operationen und Mutex-Lock-Implementierungen. Die Abdeckung erstreckt sich auf die Compiler-Konstruktionstheorie, einschließlich lexikalischer und syntaktischer Analyse, sowie die Mechanik des Typsystems und des Interface-Managements. Es beschreibt zudem verschiedene Performance-Optimierungstechniken, Runtime-Diagnose-Utilities für Stack-Tracing und Netzwerk-I/O-Primitive.
Explains the use of the splice system call to move data between descriptors without user-space copying.