منصوبے کے بارے میں

Apache Dubbo-go، Apache Dubbo کا Go implementation ہے، جو ایک اعلیٰ کارکردگی والا RPC اور مائیکرو سروس فریم ورک ہے اور دیگر زبانوں میں Dubbo implementations کے ساتھ باہمی تعامل کے لیے ڈیزائن کیا گیا ہے۔ یہ Go کی concurrency خصوصیات استعمال کرتا ہے تاکہ سروس گورننس جیسے سروس ڈسکوری، لوڈ بیلنسنگ، اور ٹریفک مینجمنٹ کو سپورٹ کیا جا سکے۔ پروٹوکول سپورٹ میں Dubbo، JSONRPC، Triple (gRPC-compatible)، gRPC، HTTP، HTTP2، اور تجرباتی HTTP/3 شامل ہیں، جو heterogeneous ماحول میں انٹیگریشن میں مدد کرتے ہیں۔ سروس ڈسکوری انٹیگریشنز میں Nacos، Zookeeper، Etcd، اور Polaris-mesh شامل ہیں۔ لوڈ بیلنسنگ حکمت عملیوں میں Adaptive، Random، RoundRobin، LeastActive، اور ConsistentHash شامل ہیں۔ ٹریفک مینجمنٹ میں traffic split، timeout، rate limiting، اور canary release شامل ہیں۔ کنفیگریشن YAML فائلوں یا متحرک ذرائع جیسے Nacos، Apollo، اور Zookeeper سے آ سکتی ہے۔ آبزرویبلٹی کے اختیارات میں Prometheus metrics، OpenTelemetry tracing، اور سروس رجسٹریشن لائف سائیکل ایونٹس کے ساتھ logging شامل ہیں۔ ہائی-availability حکمت عملیوں میں Failover، Failfast، Failsafe/Failback، Available، Broadcast، اور Forking شامل ہیں۔ README میں Apache Dubbo (Java) کے ساتھ باہمی تعامل کو نمایاں کیا گیا ہے، بشمول Triple پروٹوکول generic calls، group/version wildcard matching، اور TLS API redesign۔ حالیہ ریلیزز API consolidation، Triple پروٹوکول صلاحیتوں، application-level metadata، سروس گورننس، concurrency safety، اور release tooling پر مرکوز ہیں۔ ورژن 3.3.2 نے legacy config package کو ہٹا کر global package کو اپنایا، اور races، stale snapshots، اور resource leaks کے fixes نوٹ کیے۔ ورژن 3.3.1 نے content-based caching کے ساتھ configuration hot-reloading، تجرباتی HTTP/3، Apollo integration، اور Triple OpenAPI generation شامل کیے۔ ورژن 3.3.0 نے script routing، multi-destination conditional routing، Triple keepalive اور connection pooling، اور Nacos multi-category subscriptions متعارف کرائے۔ شروع کرنے کے لیے Go 1.24 یا اس کے بعد کا ورژن درکار ہے۔ انسٹالیشن `go get dubbo.apache.org/dubbo-go/v3@latest` کے ذریعے کی جاتی ہے۔ ایک فوری مثال Protobuf کے ساتھ سروس کی تعریف، اسے implement کرنا، اسے ایک پورٹ پر Triple پروٹوکول کے ساتھ سرور میں رجسٹر کرنا، اور serve کرنا دکھاتی ہے۔ پھر سروس کو HTTP پر JSON کے ساتھ cURL کے ذریعے، یا معیاری dubbo-go client کے ذریعے کال کیا جا سکتا ہے۔ نمونے dubbo-go-samples repository میں دستیاب ہیں۔ ڈیولپمنٹ ٹولز `tools/` ڈائریکٹری میں موجود ہیں: dubbogo-cli scaffolding، companion tools انسٹال کرنے، metadata inspect کرنے، اور debugging کے لیے؛ protoc-gen-go-triple protobuf تعریفات سے Triple bindings بنانے کے لیے؛ protoc-gen-triple-openapi OpenAPI v3 دستاویزات بنانے کے لیے؛ imports-formatter Go import grouping کے لیے؛ dubbo-go-schema YAML config validation کے لیے؛ اور ایک benchmark suite جو Dubbo-Go، Dubbo-Java، اور gRPC کا موازنہ کرتی ہے۔ ایکو سسٹم میں dubbo-go-samples، dubbo-go-pixiu بطور multi-language interoperability کے لیے proxy، Dubbo Java interoperability tutorials، اور Dubbo Admin console شامل ہیں۔ دستاویزات سرکاری Dubbo ویب سائٹ اور Go SDK سیکشن پر دستیاب ہیں۔ پروجیکٹ Apache License 2.0 کے تحت لائسنس یافتہ ہے اور GitHub issues اور mailing lists کے ذریعے تعاون کا خیرمقدم کرتا ہے۔