2017-03-24 6 views
6

akka cluster documentation पर देखकर ऐसा लगता है कि आपको क्लस्टर में शामिल होने के लिए कम से कम 1 "बीज नोड" के सर्वर & पोर्ट मानों को जानना होगा। उदाहरण application.conf स्पष्ट रूप से इंगित डेवलपर "host1" और "host2" के लिए ज़रूरी है कि जब फ़ाइल लेखन:अक्का क्लस्टर DNS लोड संतुलन के साथ जुड़ना

akka.cluster.seed-nodes = [ 
    "akka.tcp://[email protected]:2552", 
    "akka.tcp://[email protected]:2552"] 

लेकिन, एक DNS लोड संतुलन के साथ प्रत्येक क्लस्टर नोड के पंजीकरण की संभावना पर विचार। उदाहरण के लिए: "foobar.cluster.com" नाम के पीछे लोड बैलेंसर के साथ पंजीकृत 10 नोड्स को तुरंत चालू करना संभव है, जैसे लोड बैलेंसर 10 नोड्स राउंड-रॉबिन शैली में से प्रत्येक को प्रत्येक नए कनेक्शन को भेज देगा।

क्या मैं बीज-नोड को "akka.tcp://[email protected]:2552" पर सेट कर सकता हूं?

दूसरे शब्दों में, क्या गतिशील, भार संतुलन, अंक अक्का क्लस्टर में शामिल होने के लिए उपयोग करना संभव है?

प्राथमिकता एक संभावित समस्या है: एक नोड स्वयं को पहली कोशिश पर बीज नोड के रूप में प्राप्त कर सकता है। इस मुद्दे पर एक संभावित समाधान विन्यास फाइल में एक ही बीज नोड मूल्य कई बार रहा है अंत में एक अलग नोड से कनेक्ट होने का एक उच्च संभावना पाने के लिए:

akka.cluster.seed-nodes = [ 
    "akka.tcp://[email protected]:2552", 
    "akka.tcp://[email protected]:2552", 
    "akka.tcp://[email protected]:2552"] 

लेकिन अक्का सिर्फ एक के लिए उन मूल्यों के सभी कम कर सकते हैं एकल कॉल के बाद से वे बिल्कुल वही हैं ...

आपके विचार और प्रतिक्रिया के लिए अग्रिम धन्यवाद।

उत्तर

2

यह संभव है, लेकिन आपको स्वयं को DNS रिज़ॉल्यूशन करना है, और फिर क्लस्टर प्रोग्रामेटिक रूप से शामिल होना है। यह कुछ हद तक यहां वर्णित है: http://doc.akka.io/docs/akka/current/scala/cluster-usage.html#Joining_to_Seed_Nodes

तो ऑटो ऑटो जॉइनिंग को अक्षम करने के लिए आपको सबसे पहले अपनी कॉन्फ़िगरेशन फ़ाइल akka.cluster.seed-nodes = [] रखने की आवश्यकता होगी। Cluster(system).joinSeedNodes(_list_of_nodes_with_port):

तो फिर तुम ...

आप क्लस्टर में शामिल होने के लिए उन का प्रयोग करेंगे foobar.cluster.com को हल करने के लिए वास्तविक नोड्स जैसे कि, 01.foobar.cluster.com, 02.foobar.cluster.com की एक सूची प्राप्त करने की आवश्यकता होगी।

अंत में, याद रखें कि जब the hostname and port pair that Akka binds to will be different than the "logical" host name and port pair that is used to connect to the system from the outside. This requires special configuration

संबंधित मुद्दे