awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
cloudwego avatar

cloudwego/netpoll

0
View on GitHub↗
4,583 نجوم·503 تفرعات·Go·Apache-2.0·3 مشاهدات

Netpoll

Netpoll هو إطار عمل شبكة قائم على الأحداث ومكتبة I/O غير محظورة مصممة لإدارة اتصالات TCP و Unix domain socket المتزامنة. يستخدم حلقة أحداث غير محظورة لمراقبة واصفات الملفات وإطلاق ردود الاتصال لأحداث القراءة والكتابة، ويعمل كمدير مقبس عالي الأداء ومستطلع شبكة TCP.

يعمل إطار العمل على تحسين الإنتاجية عبر نوى وحدة المعالجة المركزية من خلال توزيع اتصالات الشبكة الواردة عبر مستطلعين متعددين. ينفذ بدائيات شبكة خالية من النسخ، باستخدام مخازن مؤقتة مرتبطة وإدارة ذاكرة متخصصة لقراءة وكتابة البيانات مع تقليل تخصيصات الذاكرة وتكرار البيانات.

توفر المكتبة مجموعة شاملة من القدرات لإدارة دورة حياة الاتصال، بما في ذلك الاتصال الصادر، وتكوين keepalive، وعناصر التحكم في المهلة القائمة على الموعد النهائي. كما تعمل على تحسين الأداء من خلال التخزين المؤقت لكائن الاتصال، وعمليات I/O المتجهة، واستراتيجيات موازنة التحميل لتوزيع حركة المرور عبر حلقات الأحداث.

يتضمن المشروع أدوات لإدارة نشر الخادم، مثل آليات الإغلاق الرشيق عن طريق فصل المستمعين وانتظار اكتمال الاتصال النشط.

Features

  • Event-Driven Networking - Provides a high-performance runtime model for handling concurrent connections using non-blocking I/O and multi-core distribution.
  • Non-Blocking Event Loops - Coordinates multiple non-blocking I/O pollers across CPU cores to maximize overall network throughput.
  • Non-Blocking TCP Servers - Implements TCP servers that use asynchronous I/O to handle many concurrent connections without blocking threads.
  • Network Pollers - Implements a high-performance TCP network poller that manages concurrent connections using a non-blocking event loop.
  • Connection Lifecycle Events - Manages the lifecycle of network sockets through event-driven notifications for open, close, and error events.
  • Network Listeners - Listens for incoming network connections and accepts them via a non-blocking event loop for high-performance I/O.
  • Non-Blocking Socket Managers - Provides a framework for managing non-blocking TCP and Unix domain sockets with integrated timeout controls.
  • Non-Blocking Socket I/O - Converts raw system file descriptors into managed objects that operate in non-blocking mode to prevent thread stalling.
  • Zero-Copy Networking - Extracts data from buffers using zero-copy or copy-based methods to handle incoming network streams efficiently.
  • Connection Timeout Management - Implements read, write, and idle deadlines to automatically terminate stalled connections and reclaim system resources.
  • I/O Polling - Monitors multiple file descriptors for I/O readiness and executes registered callbacks without blocking execution threads.
  • Multi-Core Scaling - Distributes incoming network connections across multiple event loops to maximize CPU utilization and throughput.
  • File Descriptor Event Monitoring - Registers and removes file descriptors from the event loop to monitor for readability, writability, and detachment.
  • File Descriptor Mappings - Converts raw system file descriptors into managed connection objects for use within an event loop.
  • Event-Driven I/O - Provides an asynchronous I/O framework using event notification loops to handle thousands of concurrent connections.
  • Event Loop Load Balancers - Distributes incoming network connections across multiple event loops using random or round-robin load balancing strategies.
  • Connection and Latency Optimizers - Reduces memory pressure and garbage collection overhead through specialized memory pools and connection reuse.
  • Connection Initialization Logic - Executes initialization logic and attaches contexts to new connections immediately after they are accepted.
  • Connection Keepalives - Allows setting keepalive intervals to maintain active network connections and detect disconnected peers.
  • Vectored I/O - Transfers data using multiple buffers in a single system call to reduce the overhead of frequent communication.
  • TCP Transmission Optimizations - Controls data transmission by toggling the delay flag to choose between immediate sending or buffered delivery.
  • Outbound Connection Dialing - Establishes outgoing connections to a remote address using request handlers and close callbacks.
  • Closure Callbacks - Runs registered handler functions automatically when a connection is closed by the peer or the system.
  • Unix Domain Socket Support - Establishes high-speed non-blocking communication between processes on the same machine using Unix domain sockets.
  • Connection Object Reuses - Caches and reuses connection objects to reduce garbage collection pressure and memory allocation overhead.
  • Memory Object Pools - Employs specialized memory object pools to minimize the cost of frequent allocations and context switching.
  • Dynamic Thread Scaling - Allows dynamic adjustment of active event loop threads to optimize throughput based on available CPU resources.
  • Connection Deadlines - Tracks read, write, and idle intervals to automatically terminate stalled connections and prevent resource leaks.
  • Event Loop Configuration - Adjusts settings for poller counts and buffer sizes to optimize how tasks are distributed and executed.
  • Lifecycle Callbacks - Implements event-driven hooks that execute custom logic during connection establishment, data arrival, and closure.
  • Object Pooling - Caches and reuses connection objects to minimize memory allocation overhead and reduce garbage collection frequency.
  • Zero-Copy Buffers - Reads and writes network data using slicing and peeking to minimize memory allocations and avoid duplicating data.
  • Network Libraries - High-performance Go network library for high-concurrency scenarios.

سجل النجوم

مخطط تاريخ النجوم لـ cloudwego/netpollمخطط تاريخ النجوم لـ cloudwego/netpoll

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

بدائل مفتوحة المصدر لـ Netpoll

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Netpoll.
  • panjf2000/gnetالصورة الرمزية لـ panjf2000

    panjf2000/gnet

    11,186عرض على GitHub↗

    gnet is a high-performance event-driven networking framework for Go, designed for building scalable TCP, UDP, and Unix socket servers. It functions as a non-blocking socket manager and multi-reactor network engine that handles thousands of simultaneous connections with low memory overhead. The framework distinguishes itself by using a multi-reactor architecture that distributes I/O across multiple event loops pinned to operating system threads to minimize context switching. It employs edge-triggered polling to reduce system call frequency and utilizes elastic ring-buffers to minimize allocati

    Go
    عرض على GitHub↗11,186
  • tidwall/evioالصورة الرمزية لـ tidwall

    tidwall/evio

    6,034عرض على GitHub↗

    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
    عرض على GitHub↗6,034
  • tokio-rs/mioالصورة الرمزية لـ tokio-rs

    tokio-rs/mio

    7,024عرض على GitHub↗

    Mio is a low-level I/O library for Rust that provides an event-driven framework for monitoring multiple network sockets and file descriptors. It acts as a portable wrapper for operating system native polling systems, including epoll, kqueue, and IOCP, allowing applications to trigger events when resources are ready for reading or writing without blocking the execution thread. The library provides a non-blocking socket interface for managing TCP, UDP, and Unix sockets. It distinguishes itself through a vectored I/O implementation, enabling scatter-gather reads and writes across multiple buffer

    Rustasynchronousnetworkingnon-blocking
    عرض على GitHub↗7,024
  • reactphp/socketالصورة الرمزية لـ reactphp

    reactphp/socket

    1,285عرض على GitHub↗

    This library provides a framework for building event-driven, non-blocking network applications in PHP. It enables the development of asynchronous TCP and TLS servers and clients that manage multiple concurrent connections without stalling the main execution thread. By utilizing an event-loop architecture, the library handles network operations and data exchange through asynchronous streams, ensuring that the application remains responsive during high-throughput tasks. The project distinguishes itself through its integration with operating system primitives, such as raw file descriptors and Un

    PHPphpreactphpserver-socket
    عرض على GitHub↗1,285
عرض جميع البدائل الـ 30 لـ Netpoll→

الأسئلة الشائعة

ما هي وظيفة cloudwego/netpoll؟

Netpoll هو إطار عمل شبكة قائم على الأحداث ومكتبة I/O غير محظورة مصممة لإدارة اتصالات TCP و Unix domain socket المتزامنة. يستخدم حلقة أحداث غير محظورة لمراقبة واصفات الملفات وإطلاق ردود الاتصال لأحداث القراءة والكتابة، ويعمل كمدير مقبس عالي الأداء ومستطلع شبكة TCP.

ما هي الميزات الرئيسية لـ cloudwego/netpoll؟

الميزات الرئيسية لـ cloudwego/netpoll هي: Event-Driven Networking, Non-Blocking Event Loops, Non-Blocking TCP Servers, Network Pollers, Connection Lifecycle Events, Network Listeners, Non-Blocking Socket Managers, Non-Blocking Socket I/O.

ما هي البدائل مفتوحة المصدر لـ cloudwego/netpoll؟

تشمل البدائل مفتوحة المصدر لـ cloudwego/netpoll: panjf2000/gnet — gnet is a high-performance event-driven networking framework for Go, designed for building scalable TCP, UDP, and Unix… tidwall/evio — Evio is a high-performance networking library for Go that provides a non-blocking socket framework. It utilizes an… tokio-rs/mio — Mio is a low-level I/O library for Rust that provides an event-driven framework for monitoring multiple network… reactphp/socket — This library provides a framework for building event-driven, non-blocking network applications in PHP. It enables the… jorisvink/kore — Kore is an event-driven web and WebSocket server framework designed for building high-performance web services and… ithewei/libhv — libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP,…