माइक्रोस्कोप आर्किटेक्चर की भावना को ध्यान में रखते हुए, मैं अपने स्कैला + अक्का आधारित प्रणाली की प्रत्येक सेवा के लिए गिट रिपोजिटरी का उपयोग कर सोच रहा हूं। प्रत्येक सेवा के लिए निर्माण एक आर्टिफैक्ट उत्पन्न करता है जो एक पैकेजिंग सिस्टम (जैसे मैवेन) रेपो में प्रकाशित होता है। ये कलाकृतियों सामान्य कोड साझा करने के लिए उपयोग की जाने वाली तंत्र हैं।एक अकाका माइक्रोस्कोप आर्किटेक्चर में केस क्लास-आधारित संदेशों को साझा करने का सबसे अच्छा तरीका
अब, सेवाओं के बीच संदेश भेजने के लिए केस क्लास का उपयोग करने के बाद, उसी वर्ग संस्करण को हर जगह उपलब्ध होना आवश्यक है। एक बहु-परियोजना निर्माण का उपयोग कर एक इंटरफ़ेस और कार्यान्वयन कलाकृतियों में प्रत्येक सेवा को अलग करना फायदेमंद होगा, और फिर केवल निर्भर परियोजनाओं से इंटरफ़ेस आर्टिफैक्ट आयात करें? कुछ विकल्पों में एक ही आर्टिफैक्ट पर इंटरफ़ेस और कार्यान्वयन दोनों शामिल करना होगा और उसमें आयात करना होगा, या इंटरफ़ेस और कार्यान्वयन के लिए अलग-अलग रिपोज़ होंगे जो ओवरकिल और बहुत अधिक ओवरहेड होने की संभावना है।
ध्यान देने योग्य भी - सुनिश्चित करें कि संचार तंत्र में एक संस्करण सिग्नल शामिल है। इस तरह जब आपको दो अलग-अलग स्कीमा (पुराने और रास्ते में और नए सुधारित तरीके) में संदेशों का समर्थन करने की आवश्यकता होती है तो आप * कर सकते हैं। –
@ सेनविएरा आप कैसे सुझाव देते हैं कि संचार तंत्र के रूप में केस कक्षाओं का उपयोग करते समय हासिल किया जा सकता है? सभी संदेशों को एक के अंदर लपेटें: 'केस क्लास संस्करण [टी] (संस्करण: इंट, पेलोड: टी) '? – mgois
@mgois ठीक है, यह करने का एक तरीका है। एक और तरीका संचार प्रोटोकॉल में "संस्करण" को एन्कोड करना है (_url_ में एक/v1/या/v2/पथ सेगमेंट हो सकता है।) – wheaties