Architecture Decision Record

Active theme: Light

← फैसला रिकॉर्ड के उदाहरण

आर्किटेक्चर फैसला रिकॉर्ड: JSON चाहे gRPC वाला API

स्थिति

स्वीकार

संदर्भ

हमनी एगो नया सेवा खातिर API डिजाइन कर रहल बानी जे कई ग्राहक इस्तेमाल करीहें। हमनी API लागू करे खातिर दू गो विकल्प पर विचार कइले बानी: HTTP पर JSON इस्तेमाल करल चाहे gRPC इस्तेमाल करल।

HTTP पर JSON API बनावे के एगो बहुत इस्तेमाल होखे वाला तरीका ह, आ ई कई प्रोग्रामिंग भाषा आ फ्रेमवर्क में समर्थित बा। ई तरीका सादा, हलुक, आ समझे में आसान बा, एहसे बहुत परियोजना खातिर नीमन चुनाव ह। लेकिन, ई आउर विकल्प के मुकाबले कम कुशल हो सकेला, खास कर बहुत डेटा के संभालत घरी।

gRPC, दोसरा तरफ, एगो नया तकनीक ह जे API बनावे के जादा कुशल तरीका देला। ई डेटा भेजे खातिर बाइनरी सीरियलाइजेशन इस्तेमाल करेला, जे JSON इस्तेमाल करे से तेज आ जादा संक्षिप्त हो सकेला। gRPC दू-तरफा स्ट्रीमिंग भी समर्थित करेला, एहसे ई रियल-टाइम एप्लिकेशन खातिर नीमन चुनाव ह।

फैसला

दूनो विकल्प के फायदा-नुकसान पर विचार कइला के बाद, हमनी अपना API खातिर gRPC इस्तेमाल करे के तय कइनी। भले HTTP पर JSON सादा विकल्प ह, हमनी के भरोसा बा कि gRPC हमनी के सेवा खातिर जादा कुशल आ पैमाना बढ़ावे-लायक समाधान दी। हमनी के ई भी अंदाजा बा कि हमनी के API बहुत डेटा संभाली, आ gRPC के बाइनरी सीरियलाइजेशन एह उपयोग खातिर जादा कुशल होई।

एकरा अलावा, हमनी के भरोसा बा कि दू-तरफा स्ट्रीमिंग खातिर gRPC के समर्थन ऊ रियल-टाइम एप्लिकेशन खातिर फायदेमंद होई जे हमनी आगे विकसित कर सकीले।

नतीजा

gRPC चुनला पर, हमनी के अपना API बनावे खातिर HTTP पर JSON के मुकाबले औजार आ लाइब्रेरी के अलग सेट इस्तेमाल करे के पड़ी। एकरा खातिर ई तकनीक सीखे आ लागू करे में अतिरिक्त समय आ मेहनत के जरूरत पड़ सकेला। एकरा अलावा, जे ग्राहक हमनी के API इस्तेमाल करे चाहत बाड़ें उनके gRPC-संगत लाइब्रेरी इस्तेमाल करे के पड़ी, जे HTTP लाइब्रेरी पर JSON जेतना व्यापक रूप से समर्थित ना हो सकेला।

लेकिन, हमनी के भरोसा बा कि gRPC इस्तेमाल करे के फायदा ई संभावित कमी से जादा बा, आ हमनी के विश्वास बा कि ई फैसला एगो जादा कुशल आ पैमाना बढ़ावे-लायक API देबी।