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

anygo ایک Go زبان کا RPC فریم ورک اور بنیادی لائبریری ہے جس کا مقصد انحصارات کو کم کرنا ہے، اور اس کے فنکشنل ماڈیولز کو آزادانہ طور پر استعمال کیا جا سکتا ہے۔ اہم خصوصیات میں شامل ہیں: **RPC Client خصوصیات**: - ڈاؤن اسٹریم سروس مینیجر: کنفیگریشن فائل کے ذریعے کنکشن ٹائم آؤٹ، ری ٹرائی، کنکشن پول، TLS اور پراکسی وغیرہ کے انتظام کی حمایت کرتا ہے، جس میں DNS، File، Host+Port سروس ڈسکوری طریقوں کے ساتھ ساتھ Random اور RoundRobin لوڈ بیلنسنگ حکمت عملی شامل ہیں۔ - نیٹ ورک اجزاء: کیشنگ اور انٹرسیپٹر فنکشنز کے ساتھ DNS ریزولوشن اجزاء اور TCP ڈائلنگ اجزاء شامل ہیں۔ - پروٹوکول نفاذ: ایک عام TCP RPC Client فراہم کرتا ہے، جس میں Redis (Resp3) اور HTTP/HTTPS پروٹوکولز نافذ کیے گئے ہیں۔ - اسٹوریج کلائنٹ: resp3 پر مبنی Redis Client اور ایک ہلکا پھلکا ORM db Client شامل ہے جو متعدد ڈیٹا بیسز (MariaDB, MySQL, SQL Server, Sqlite, Postgres) کی حمایت کرتا ہے۔ **RPC Server خصوصیات**: - مڈل ویئر اور متعدد روٹنگ پیرامیٹرز کی حمایت کرنے والا HTTP Router فراہم کرتا ہے۔ - HTTP Session اجزاء اور کیپچا (captcha) جنریشن فنکشنز شامل ہیں۔ **عام بنیادی لائبریری**: - ماحول اور کنفیگریشن: xattr ایپلی کیشن کی عالمی ماحولیاتی معلومات کے انتظام کے لیے استعمال ہوتا ہے؛ xcfg ماحولیاتی متغیرات اور عالمی معلومات سے JSON، XML وغیرہ فارمیٹ کی کنفیگریشنز پڑھنے کی حمایت کرتا ہے۔ - کیشنگ اجزاء (xcache): جینرکس کی حمایت کرتا ہے، جس میں فائل، میموری (LRU/FIFO/LIFO)، Redis، اور ڈیٹا بیس اسٹوریج بلٹ ان ہیں، اور ملٹی لیول کیشنگ کمبینیشنز (Chains) اور شفاف ریڈنگ ٹیمپلیٹس (Reader) کی حمایت کرتا ہے۔ - KV اسٹوریج: Redis جیسا Key-Value API فراہم کرتا ہے، جو String, List, Hash, Set, ZSet وغیرہ اقسام کی حمایت کرتا ہے، اور انڈر لائیینگ اسٹوریج ڈرائیورز کو لچکدار طور پر تبدیل کیا جا سکتا ہے۔ - دیگر ٹولز: slog پر مبنی لاگ لائبریری (xlog)، جینرک Assertion لائبریری (xt) اور بین الاقوامیت (i18n) کی حمایت۔