वर्तमान में मेरे पास दो नोड अनुप्रयोग हैं जो एक मोंगो प्रतिकृति सेट (1 प्राथमिक और 6 माध्यमिक) का उपयोग करते हैं। वर्तमान में एक एप्लिकेशन की पढ़ी गई क्वेरी मोंगो पर लोड का कारण बनती है और दूसरे एप्लिकेशन के प्रदर्शन को प्रभावित करती है। इसलिए, मैं माध्यमिक नोड्स को विभाजित करना चाहता हूं जैसे कि 1 एप्लिकेशन प्राथमिक और 4 माध्यमिक सदस्यों का उपयोग करता है और दूसरा एप्लिकेशन प्राथमिक और अन्य 2 माध्यमिक सदस्यों का उपयोग करता है। मैं नहीं चाहता कि एक आवेदन पर लोड दूसरे को प्रभावित करे। मैं वही कैसे हासिल करूं?

0
Wizard 30 पद 2020, 11:04

1 उत्तर

सबसे बढ़िया उत्तर

आप प्रति एप्लिकेशन अलग-अलग टैग सेट कर सकते हैं और प्रति परिभाषित टैग सेकेंडरी सदस्यों से पढ़ सकते हैं, उदाहरण के लिए:

app1--> db.collection.find({}).readPref( "secondary", [ { "app": "app1" } ] )
app2--> db.collection.find({}).readPref( "secondary", [ { "app": "app2" } ] )

और क्या आपने प्रतिकृति को निम्नानुसार सेट किया है:

{
"_id" : "myrs",
"version" : 2,
"members" : [
         {
                 "_id" : 0,
                 "host" : "host1:27017",
                 "tags" : {
                         "app": "app1"
                 }
         }, {
                 "_id" : 1,
                 "host" : "host2:27017",
                 "tags" : {
                         "app": "app1"
                 }
         }, {
                 "_id" : 2,
                 "host" : "host3:27017",
                 "tags" : {
                         "app": "app1"
                 }
         },  {
                 "_id" : 3,
                 "host" : "host4:27017",
                 "tags" : {
                         "app": "app2"

                 }
         },  {
                 "_id" : 4,
                 "host" : "host4:27017",
                 "tags" : {
                         "app": "app2"

                 }
         }           
]
}

टैग कैसे जोड़ें:

conf = rs.conf();
conf.members[0].tags = { "app": "app1" };
conf.members[1].tags = { "app": "app1" };
conf.members[2].tags = { "app": "app2" };
conf.members[3].tags = { "app": "app2" };
conf.members[4].tags = { "app": "app2" };
rs.reconfig(conf);
1
R2D2 30 पद 2020, 13:40