منصوبے کے بارے میں
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 پر مبنی یا بیک اینڈ درخواستوں کے ذریعے پراکسی جیسی توثیق۔
- **بھرپور سبسکرپشن ماڈل**: اسٹریم (کلائنٹ/سرور سائیڈ)، میپ، مشترکہ پول اور پراکسی سبسکرپشن اسٹریمز۔
- **چینل اجازتیں**: Namespace کا تصور اور مختلف اجازت کی حکمت عملی۔
- **میسج ہسٹری اور ریکوری**: دوبارہ مربوط ہونے پر خودکار ریکوری کے ساتھ ہاٹ ہسٹری، علاوہ کیشے ریکوری موڈ۔
- **ڈیلٹا کمپریشن**: بینڈوتھ کم کرنے کے لیے Fossil الگورتھم پر مبنی۔
- **پریزنس**: جوائن/لیو نوٹیفکیشنز کے ساتھ آن لائن چینل پریزنس۔
- **RPC**: ریئل ٹائم کنکشن پر بیک اینڈ کو RPC کالز بھیجیں۔
- **کلائنٹ پروٹوکول**: JavaScript، Dart/Flutter، Swift، Java، Python، Go اور .NET (WIP) کے لیے آفیشل SDKs کے ساتھ سخت اور موثر پروٹوکول۔
- **ڈیٹا فارمیٹس**: 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 کھولیں۔ غیر محفوظ فلیگ صرف مقامی آزمائش کے لیے ہیں۔
پروڈکشن کے لیے، سرکاری دستاویزات کی سائٹ (centrifugal.dev) پر انسٹالیشن اور کوئیک اسٹارٹ گائیڈز پر عمل کریں۔ یہ پروجیکٹ فعال طور پر برقرار رکھا جاتا ہے جس میں Telegram اور Discord کے ذریعے کمیونٹی سپورٹ موجود ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.