सेवा के बारे में
अनुवादितमैं एक बैकएंड डेवलपर हूँ और मैं स्काला में लिखता हूँ, और मेरे लिए कार्यात्मक प्रोग्रामिंग एक समस्या के बारे में सोचने का तरीका है, न कि एक तकनीक जिसे मैं कभी-कभी उपयोग करता हूँ। मैं अपरिवर्तनीय डेटा, शुद्ध कार्यों और प्रकारित प्रभावों के चारों ओर सेवाएँ डिज़ाइन करता हूँ, ताकि व्यवहार पूर्वानुमानित बना रहे और संकलक उत्पादन तक पहुँचने से पहले पूरी श्रेणियों की त्रुटियों को पकड़ ले। यदि आपके पास पहले से एक JVM स्टैक है और आपको स्काला द्वारा प्रदान की गई सहीता और समवर्तीता की गारंटी की आवश्यकता है, या आप शून्य से शुरू कर रहे हैं और एक ऐसा आधार चाहते हैं जो स्केल करे न कि गड़बड़ में बदल जाए, तो मैं वास्तुकला से लेकर एक सेवा तक काम करूंगा जो युद्ध में विश्वसनीयता से चलती है।
ज्यादातर समय मैं REST और gRPC एपीआई, इवेंट सिस्टम और डेटा प्रोसेसिंग पाइपलाइन्स बना रहा हूँ। मैं अक्का अभिनेताओं और अक्का स्ट्रीम्स पर समवर्ती और वितरित बैकएंड बनाता हूँ, लंबे समय तक चलने वाली प्रक्रियाओं का मॉडल बनाता हूँ जो पुनरारंभों को सहन करती हैं, और सब कुछ काफ्का, पोस्टग्रेएसक्यूएल, कैसेंड्रा या स्पार्क से जोड़ता हूँ, डेटा की प्रकृति के आधार पर। मैं बैक-प्रेशर और यह सोचता हूँ कि जब एक निर्भरता धीमी हो जाती है या गायब हो जाती है तो क्या होता है, इसलिए मेरे सिस्टम धीरे-धीरे खराब होते हैं न कि क्रैश होते हैं। बड़े डेटा पर बैच और स्ट्रीमिंग कार्य सामान्य हैं: प्रवासन, सफाई और बड़े वॉल्यूम का समेकन बिना रिकॉर्ड खोए और बिना मेमोरी खत्म किए।
मुझे दायरे के बारे में स्पष्ट होना चाहिए: यह स्काला और कार्यात्मक दृष्टिकोण है, नियमित जावा, कोटलिन या गो नहीं जो स्काला सिंटैक्स में फिर से लिखा गया है। मैं कैट्स, ZIO या अक्का के साथ आदर्श कोड लिखता हूँ, स्काला चेक और प्रॉपर्टी-आधारित दृष्टिकोण के माध्यम से परीक्षण करता हूँ और कोड प्रदान करता हूँ जिसे आपकी टीम पढ़ और विकसित कर सकती है। मुझे आवश्यक थ्रूपुट और सीमाओं के बारे में बताएं — मैं एक दृष्टिकोण और यथार्थवादी समयरेखा का सुझाव दूंगा।
— स्काला में कार्यात्मक बैकएंड सेवाएँ (कैट्स, ZIO)
— समवर्ती वितरित सिस्टम के लिए अक्का अभिनेता और अक्का स्ट्रीम्स
— प्रकारित परीक्षण योग्य डोमेन के साथ REST और gRPC एपीआई
— स्पार्क और काफ्का पर बड़े डेटा और ETL पाइपलाइन्स
— पोस्टग्रेएसक्यूएल, कैसेंड्रा और इवेंट-सोर्स्ड स्टोरेज
— प्रॉपर्टी-आधारित परीक्षण और JVM CI सेटअप
ज्यादातर समय मैं REST और gRPC एपीआई, इवेंट सिस्टम और डेटा प्रोसेसिंग पाइपलाइन्स बना रहा हूँ। मैं अक्का अभिनेताओं और अक्का स्ट्रीम्स पर समवर्ती और वितरित बैकएंड बनाता हूँ, लंबे समय तक चलने वाली प्रक्रियाओं का मॉडल बनाता हूँ जो पुनरारंभों को सहन करती हैं, और सब कुछ काफ्का, पोस्टग्रेएसक्यूएल, कैसेंड्रा या स्पार्क से जोड़ता हूँ, डेटा की प्रकृति के आधार पर। मैं बैक-प्रेशर और यह सोचता हूँ कि जब एक निर्भरता धीमी हो जाती है या गायब हो जाती है तो क्या होता है, इसलिए मेरे सिस्टम धीरे-धीरे खराब होते हैं न कि क्रैश होते हैं। बड़े डेटा पर बैच और स्ट्रीमिंग कार्य सामान्य हैं: प्रवासन, सफाई और बड़े वॉल्यूम का समेकन बिना रिकॉर्ड खोए और बिना मेमोरी खत्म किए।
मुझे दायरे के बारे में स्पष्ट होना चाहिए: यह स्काला और कार्यात्मक दृष्टिकोण है, नियमित जावा, कोटलिन या गो नहीं जो स्काला सिंटैक्स में फिर से लिखा गया है। मैं कैट्स, ZIO या अक्का के साथ आदर्श कोड लिखता हूँ, स्काला चेक और प्रॉपर्टी-आधारित दृष्टिकोण के माध्यम से परीक्षण करता हूँ और कोड प्रदान करता हूँ जिसे आपकी टीम पढ़ और विकसित कर सकती है। मुझे आवश्यक थ्रूपुट और सीमाओं के बारे में बताएं — मैं एक दृष्टिकोण और यथार्थवादी समयरेखा का सुझाव दूंगा।
— स्काला में कार्यात्मक बैकएंड सेवाएँ (कैट्स, ZIO)
— समवर्ती वितरित सिस्टम के लिए अक्का अभिनेता और अक्का स्ट्रीम्स
— प्रकारित परीक्षण योग्य डोमेन के साथ REST और gRPC एपीआई
— स्पार्क और काफ्का पर बड़े डेटा और ETL पाइपलाइन्स
— पोस्टग्रेएसक्यूएल, कैसेंड्रा और इवेंट-सोर्स्ड स्टोरेज
— प्रॉपर्टी-आधारित परीक्षण और JVM CI सेटअप