इस प्रोजेक्ट के बारे में
Centrifugo एक ओपन-सोर्स, स्केलेबल रीयल-टाइम मैसेजिंग सर्वर है जिसे WebSocket, HTTP-streaming, Server-Sent Events (SSE), GRPC और WebTransport (प्रायोगिक) सहित विभिन्न ट्रांसपोर्ट पर ऑनलाइन उपयोगकर्ताओं को संदेश पहुंचाने के लिए डिज़ाइन किया गया है। यह एक उपयोगकर्ता-मुखी PUB/SUB मॉडल लागू करता है जहां क्लाइंट चैनलों की सदस्यता लेते हैं और सरल HTTP या GRPC API के माध्यम से बैकएंड द्वारा प्रकाशित संदेश प्राप्त करते हैं। यह इसे भाषा-निरपेक्ष बनाता है और चैट ऐप्स, लाइव कमेंट्स, मल्टीप्लेयर गेम्स, रीयल-टाइम डैशबोर्ड, सहयोगी टूल्स और AI स्ट्रीमिंग प्रतिक्रियाओं के निर्माण के लिए उपयुक्त बनाता है।
मुख्य विशेषताएं शामिल हैं:
- **कुशल ट्रांसपोर्ट**: WebSocket, HTTP-streaming, SSE, GRPC, WebTransport।
- **स्केलेबिलिटी**: क्षैतिज स्केलिंग के लिए Redis (Redis Cluster और Valkey, KeyDB, DragonflyDB जैसे संगत स्टोर सहित), PostgreSQL, या Nats के लिए अंतर्निहित समर्थन।
- **सरल सर्वर API**: बैकएंड संचार के लिए HTTP और GRPC एंडपॉइंट।
- **अतुल्यकालिक उपभोक्ता**: ट्रांजैक्शनल आउटबॉक्स और CDC पैटर्न के लिए PostgreSQL और Kafka उपभोक्ता।
- **लचीला प्रमाणीकरण**: JWT-आधारित या बैकएंड अनुरोधों के माध्यम से प्रॉक्सी-जैसा प्रमाणीकरण।
- **समृद्ध सदस्यता मॉडल**: स्ट्रीम (क्लाइंट/सर्वर-साइड), मैप, शेयर्ड पोल, और प्रॉक्सी सदस्यता स्ट्रीम।
- **चैनल अनुमतियां**: नेमस्पेस अवधारणा और विभिन्न अनुमति रणनीतियां।
- **संदेश इतिहास और रिकवरी**: पुनः कनेक्ट पर स्वचालित रिकवरी के साथ हॉट हिस्ट्री, साथ ही कैश रिकवरी मोड।
- **डेल्टा कम्प्रेशन**: बैंडविड्थ कम करने के लिए Fossil एल्गोरिदम पर आधारित।
- **उपस्थिति**: जॉइन/लीव सूचनाओं के साथ ऑनलाइन चैनल उपस्थिति।
- **RPC**: रीयल-टाइम कनेक्शन पर बैकएंड को RPC कॉल भेजें।
- **क्लाइंट प्रोटोकॉल**: JavaScript, Dart/Flutter, Swift, Java, Python, Go, और .NET (WIP) के लिए आधिकारिक SDK के साथ सख्त और प्रभावी प्रोटोकॉल।
- **डेटा प्रारूप**: अनुकूलित सीरियलाइज़ेशन और बैचिंग के साथ JSON और बाइनरी Protobuf।
- **एडमिन UI**: निगरानी और परीक्षण के लिए एम्बेडेड वेब इंटरफेस।
- **अवलोकनीयता**: Prometheus मेट्रिक्स और एक आधिकारिक Grafana डैशबोर्ड।
Centrifugo को Pubnub, Pusher, और Ably जैसी व्यावसायिक सेवाओं, साथ ही socket.io और SignalR जैसे फ्रेमवर्क के स्व-होस्टेड विकल्प के रूप में स्थापित किया गया है। इसे एक बार सेट अप करके अनिश्चित काल तक उपयोग करने के लिए डिज़ाइन किया गया है, जो रीयल-टाइम ट्रांसपोर्ट को व्यावसायिक तर्क से अलग करता है।
Docker के साथ त्वरित शुरुआत:
```bash
docker run -it --rm -p 8000:8000 centrifugo/centrifugo:latest centrifugo --client.insecure --admin.enabled --admin.insecure
```
फिर एडमिन UI के लिए http://localhost:8000 खोलें। insecure फ्लैग केवल स्थानीय परीक्षण के लिए हैं।
उत्पादन के लिए, आधिकारिक दस्तावेज़ीकरण साइट (centrifugal.dev) पर इंस्टॉलेशन और क्विकस्टार्ट गाइड का पालन करें। यह प्रोजेक्ट Telegram और Discord के माध्यम से समुदाय समर्थन के साथ सक्रिय रूप से बनाए रखा जाता है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.