awesome-repositories.com
Blog
MCP
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
panjf2000 avatar

panjf2000/gnet

0
View on GitHub↗
11,186 Stars·1,117 Forks·Go·Apache-2.0·12 Aufrufegnet.host↗

Gnet

gnet ist ein leistungsstarkes, eventgesteuertes Networking-Framework für Go, das für die Entwicklung skalierbarer TCP-, UDP- und Unix-Socket-Server konzipiert wurde. Es fungiert als nicht-blockierender Socket-Manager und Multi-Reactor-Netzwerk-Engine, die tausende gleichzeitige Verbindungen bei geringem Speicherverbrauch bewältigt.

Das Framework zeichnet sich durch eine Multi-Reactor-Architektur aus, die I/O-Operationen auf mehrere Event-Loops verteilt, welche an Betriebssystem-Threads gebunden sind, um Context-Switching zu minimieren. Es nutzt Edge-Triggered-Polling, um die Häufigkeit von Systemaufrufen zu reduzieren, und verwendet elastische Ring-Buffer, um Allokationskosten und den Garbage-Collection-Druck zu minimieren.

Die Bibliothek deckt ein breites Spektrum an Networking-Funktionen ab, darunter lastverteilte Verbindungssteuerung über CPU-Kerne hinweg, asynchrone Aufgabenausführung mittels Worker-Pools und ein strukturiertes System für das Connection-Lifecycle-Management. Zudem bietet sie Primitive für die Implementierung benutzerdefinierter Binärprotokolle und die Verwaltung von Low-Level-Socket-Optionen.

Features

  • Multi-Reactor Implementations - Implements a multi-reactor architecture that distributes network I/O across multiple parallel event loops.
  • Go Event-Driven Networking Frameworks - Provides a high-performance Go framework for building scalable, non-blocking TCP, UDP, and Unix socket servers.
  • Non-Blocking TCP Servers - Functions as a non-blocking socket manager capable of handling thousands of simultaneous connections with low overhead.
  • Event-Driven Networking - Implements a high-performance runtime model for handling concurrent connections using non-blocking I/O.
  • High-Concurrency Networking - Designed to manage massive numbers of simultaneous TCP and UDP connections with minimal memory overhead.
  • Multi-Transport Support - Enables seamless communication over TCP, UDP, and Unix Domain Sockets.
  • Socket Event Handling - Processes asynchronous read, write, and error events on network sockets to maintain data flow.
  • Non-Blocking Socket I/O - Provides asynchronous reading and writing of network sockets to handle thousands of concurrent connections without stalling.
  • TCP and Unix Socket Listeners - Supports accepting incoming traffic through both standard TCP ports and local Unix domain sockets.
  • Edge-Triggered I/O Pollers - Uses edge-triggered polling to minimize system calls by only notifying the application when socket states change.
  • Network Event Monitoring Schedulers - Utilizes low-level schedulers to monitor file descriptors for read, write, and close events.
  • Thread-Pinned Loops - Binds event loops to specific operating system threads to minimize context switching and improve cache locality.
  • Elastic Ring Buffers - Employs expandable circular buffers to manage data streams and reduce garbage collection pressure.
  • Event-Driven Task Dispatching - Provides a mechanism to send tasks to specific event loops for thread-safe connection management.
  • Event Loop Load Balancers - Distributes incoming network traffic across multiple internal event loops to optimize resource utilization.
  • Connection Lifecycle Managers - Tracks active network sockets and manages the connection lifecycle, including termination and state management.
  • Custom Protocol Implementations - Provides primitives for designing and implementing custom application-specific binary communication protocols.
  • Infrastructure Optimizations - Uses thread-pinning and edge-triggered I/O to maximize throughput and minimize system call frequency for low-latency performance.
  • Network Listeners - Configures and creates network listeners with custom socket options for address reuse and buffer sizing.
  • Socket Option Configurations - Sets low-level socket parameters such as keep-alive and address reuse to tune network stack interaction.
  • Asynchronous Task Execution - Schedules and executes non-blocking tasks within the event loop using a priority-based poller.
  • Connection Indexing Systems - Implements high-concurrency lookup structures to track and access active network connections in constant time.
  • Event Loop Concurrency - Controls the number of event-loop threads and distributes connections to ensure efficient processing power.
  • Concurrent Task Execution - Implements a worker pool to execute multiple concurrent background operations to increase throughput.
  • Reusable Buffer Pools - Minimizes allocation costs by employing reusable buffer structures that adapt to incoming network data.
  • Networking Libraries - High-performance, event-driven networking framework.
  • Network Libraries - High-performance, non-blocking event-driven Go network framework.
  • Netzwerk-Bibliotheken - Event-driven, non-blocking networking framework.

Star-Verlauf

Star-Verlauf für panjf2000/gnetStar-Verlauf für panjf2000/gnet

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht panjf2000/gnet?

gnet ist ein leistungsstarkes, eventgesteuertes Networking-Framework für Go, das für die Entwicklung skalierbarer TCP-, UDP- und Unix-Socket-Server konzipiert wurde. Es fungiert als nicht-blockierender Socket-Manager und Multi-Reactor-Netzwerk-Engine, die tausende gleichzeitige Verbindungen bei geringem Speicherverbrauch bewältigt.

Was sind die Hauptfunktionen von panjf2000/gnet?

Die Hauptfunktionen von panjf2000/gnet sind: Multi-Reactor Implementations, Go Event-Driven Networking Frameworks, Non-Blocking TCP Servers, Event-Driven Networking, High-Concurrency Networking, Multi-Transport Support, Socket Event Handling, Non-Blocking Socket I/O.

Welche Open-Source-Alternativen gibt es zu panjf2000/gnet?

Open-Source-Alternativen zu panjf2000/gnet sind unter anderem: cloudwego/netpoll — Netpoll is an event-driven network framework and non-blocking I/O library designed to manage concurrent TCP and Unix… tidwall/evio — Evio is a high-performance networking library for Go that provides a non-blocking socket framework. It utilizes an… chenshuo/muduo — Muduo is a C++11 event-driven network library and framework designed for building high-concurrency Linux servers. It… walkor/workerman — Workerman is an event-driven asynchronous socket framework for PHP. It provides the core components necessary to build… yuesong-feng/30daymakecppserver — This project is a C++ TCP server framework and educational socket programming guide. It provides a high-performance… riba2534/tcp-ip-networknote — TCP-IP-NetworkNote is a comprehensive technical reference and guide for implementing network communication using TCP…

Open-Source-Alternativen zu Gnet

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Gnet.
  • cloudwego/netpollAvatar von cloudwego

    cloudwego/netpoll

    4,583Auf GitHub ansehen↗

    Netpoll is an event-driven network framework and non-blocking I/O library designed to manage concurrent TCP and Unix domain socket connections. It utilizes a non-blocking event loop to monitor file descriptors and trigger callbacks for read and write events, serving as a high-performance socket manager and TCP network poller. The framework optimizes throughput across CPU cores by distributing incoming network connections across multiple pollers. It implements zero-copy networking primitives, using linked buffers and specialized memory management to read and write data while minimizing memory

    Go
    Auf GitHub ansehen↗4,583
  • tidwall/evioAvatar von tidwall

    tidwall/evio

    6,034Auf GitHub ansehen↗

    Evio is a high-performance networking library for Go that provides a non-blocking socket framework. It utilizes an event loop to process TCP, UDP, and Unix domain socket traffic through a low-level asynchronous protocol interface. The project functions as a multi-core network load balancer, distributing connections across multiple CPU cores using round-robin or least-connections strategies. It supports socket reuse, allowing multiple sockets on a single host to bind to the same port. The library covers a broad range of socket management and packet processing capabilities, including multi-pro

    Gonetworking
    Auf GitHub ansehen↗6,034
  • chenshuo/muduoAvatar von chenshuo

    chenshuo/muduo

    16,157Auf GitHub ansehen↗

    Muduo is a C++11 event-driven network library and framework designed for building high-concurrency Linux servers. It provides a toolkit for implementing scalable network services and socket communication using non-blocking I/O and asynchronous event processing. The framework implements a multi-threaded TCP server architecture that distributes connection handling across multiple CPU threads to maximize server throughput. This is achieved through a one-loop-per-thread model and a reactor pattern implementation, which dispatch network events from a central demultiplexer to registered handler fun

    C++
    Auf GitHub ansehen↗16,157
  • walkor/workermanAvatar von walkor

    walkor/workerman

    11,547Auf GitHub ansehen↗

    Workerman is an event-driven asynchronous socket framework for PHP. It provides the core components necessary to build high-concurrency network servers, including an asynchronous TCP framework, a coroutine library for task management, and dedicated implementations for HTTP and WebSocket servers. The project enables the development of specialized network services using custom frame-based communication protocols. It supports both inbound concurrent server implementation and asynchronous outbound connectivity to remote services. The framework covers a broad range of network programming capabili

    PHPasynchronousevent-drivenhigh-performance
    Auf GitHub ansehen↗11,547
Alle 30 Alternativen zu Gnet anzeigen→