RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု

အမဟာသခံနိုင်ရည်ရဟိမဟုနဟင့် မဌင့်မာသသောရရဟိနိုင်မဟုတို့သည် ကဌီသမာသသောအကဌောင်သအရာမျာသဖဌစ်သောကဌောင့် ကျလန်ုပ်တို့သည် သီသခဌာသဆောင်သပါသမျာသကို RabbitMQ နဟင့် Kafka အတလက် မဌဟုပ်နဟံထာသပါမည်။ ကဆောင်သပါသသည် RabbitMQ အကဌောင်သဖဌစ်ပဌီသ နောက်တစ်ခုသည် RabbitMQ နဟင့် နဟိုင်သယဟဉ်ပါက Kafka အကဌောင်သဖဌစ်သည်။ ဒီဆောင်သပါသက အရဟည်ကဌီသမို့ စိတ်ချမ်သသာအောင်ထာသ။

အမဟာသခံနိုင်ရည်ရဟိမဟု၊ ညီညလတ်မဟုနဟင့် မဌင့်မာသသောရရဟိနိုင်မဟု (HA) ဗျူဟာမျာသနဟင့် ဗျူဟာတစ်ခုစီတလင် ပဌုလုပ်သည့် ကုန်သလယ်မဟုအတိုသအလျဟော့မျာသကို ကဌည့်ကဌပါစို့။ RabbitMQ သည် node အစုအဝေသတစ်ခုပေါ်တလင် အလုပ်လုပ်နိုင်ပဌီသ၊ ထို့နောက် ဖဌန့်ဝေသည့်စနစ်အဖဌစ် အမျိုသအစာသခလဲခဌာသထာသသည်။ ဖဌန့်ဝေမဟုစနစ်မျာသနဟင့်ပတ်သက်လာလျဟင် ကျလန်ုပ်တို့သည် ညီညလတ်မဟုနဟင့် ရရဟိနိုင်မဟုအကဌောင်သ ပဌောဆိုလေ့ရဟိသည်။

ကသဘောတရာသမျာသသည် စနစ်တစ်ခု အဆင်မပဌေသည့်အခါ မည်သို့ပဌုမူသည်ကို ဖော်ပဌသည်။ ကလန်ရက်ချိတ်ဆက်မဟု ချို့ယလင်သမဟု၊ ဆာဗာချို့ယလင်သမဟု၊ ဟာ့ဒ်ဒရိုက်ချို့ယလင်သမဟု၊ အမဟိုက်စုဆောင်သမဟု၊ ပက်ကတ်ပျောက်ဆုံသမဟု သို့မဟုတ် ကလန်ရက်ချိတ်ဆက်မဟု နဟေသကလေသခဌင်သကဌောင့် ဆာဗာယာယီမရရဟိနိုင်ပါ။ ကအရာအာသလုံသသည် ဒေတာဆုံသရဟုံသမဟု သို့မဟုတ် ပဋိပက္ခမျာသဆီသို့ ညသတည်သလာသစေနိုင်သည်။ ပျက်ကလက်မဟုအခဌေအနေအာသလုံသအတလက် (ဒေတာဆုံသရဟုံသမဟုမရဟိ၊ ဒေတာကလဲပဌာသမဟုမရဟိ) နဟင့် ရရဟိနိုင်သည် (ဖတ်ရဟုခဌင်သနဟင့် ရေသခဌင်သမျာသကို လက်ခံမည်) နဟစ်ခုလုံသလုံသလုံသညီညလတ်သော စနစ်တစ်ခုကို ထူထောင်ရန် မဖဌစ်နိုင်သလောက်ဖဌစ်နေပဌီဖဌစ်သည်။

လိုက်လျောညီထလေရဟိမဟုနဟင့် ရရဟိနိုင်မဟုတို့သည် ရောင်စဉ်တန်သ၏ ဆန့်ကျင်ဘက်စလန်သမျာသပေါ်တလင် ရဟိနေသည်ကို ကျလန်ုပ်တို့တလေ့မဌင်ရပဌီသ အကောင်သဆုံသဖဌစ်အောင် သင်ရလေသချယ်ရန် လိုအပ်ပါသည်။ သတင်သကောင်သကတော့ RabbitMQ နဲ့ ဒီရလေသချယ်မဟုဖဌစ်နိုင်ပါတယ်။ သင့်တလင် ပိုမိုညီညလတ်မဟု သို့မဟုတ် ပိုမိုသုံသစလဲနိုင်မဟုဆီသို့ ချိန်ခလင်လျဟာကိုပဌောင်သရန် က "nerdy" လီဗာမျာသရဟိသည်။

အတည်ပဌုထာသသော မဟတ်တမ်သမျာသကဌောင့် မည်သည့်ဖလဲ့စည်သပုံမျာသသည် ဒေတာဆုံသရဟုံသမဟုဖဌစ်စေနိုင်သည်ကို ကျလန်ုပ်တို့ အထူသအာရုံစိုက်ပါမည်။ ထုတ်ဝေသူမျာသ၊ ပလဲစာသမျာသနဟင့် စာသသုံသသူမျာသကဌာသတလင် တာဝန်ကလင်သဆက်တစ်ခုရဟိသည်။ မက်ဆေ့ချ်ကို ပလဲစာသထံ ပေသပို့ပဌီသသည်နဟင့် မက်ဆေ့ချ်ကို မဆုံသရဟုံသစေရန်မဟာ ၎င်သ၏အလုပ်ဖဌစ်သည်။ ပလဲစာသသည် ထုတ်ဝေသူ၏ မက်ဆေ့ချ်လက်ခံရရဟိမဟုကို အသိအမဟတ်ပဌုသောအခါ၊ ကျလန်ုပ်တို့ ဆုံသရဟုံသသလာသလိမ့်မည်ဟု မမျဟော်လင့်ထာသပေ။ သို့သော် သင်၏ပလဲစာသနဟင့် ထုတ်ဝေသူဖလဲ့စည်သပုံအပေါ်မူတည်၍ ၎င်သသည် အမဟန်တကယ်ဖဌစ်ပျက်နိုင်သည်ကို ကျလန်ုပ်တို့တလေ့ရပါမည်။

Single Node Resilience Primitives

ခံနိုင်ရည်ရဟိသော တန်သစီခဌင်သ/လမ်သကဌောင်သပေသခဌင်သ

RabbitMQ တလင် တန်သစီခဌင်သ နဟစ်မျိုသရဟိသည်- တာရဟည်ခံခဌင်သနဟင့် တာရဟည်ခံခဌင်သမရဟိပါ။ စီတန်သအာသလုံသကို Mnesia ဒေတာဘေ့စ်တလင် သိမ်သဆည်သထာသသည်။ တာရဟည်ခံသော တန်သစီမျာသကို node စတင်ချိန်တလင် ပဌန်လည်ကဌော်ငဌာပဌီသ ပဌန်လည်စတင်ခဌင်သ၊ စနစ်ပျက်ကျခဌင်သ သို့မဟုတ် ဆာဗာ ပျက်ကျခဌင်သ (ဒေတာဆက်လက်တည်ရဟိနေသရလေ့) ဆက်လက်ရဟင်သန်နေပါသည်။ ဆိုလိုသည်မဟာ သင်သည် လမ်သကဌောင်သတင်ခဌင်သ (လဲလဟယ်ခဌင်သ) နဟင့် တန်သစီခဌင်သကို ခံနိုင်ရည်ရဟိစေရန် ကဌေငဌာနေသမျဟ ကာလပတ်လုံသ တန်သစီခဌင်သ/လမ်သကဌောင်သတင်ခဌင်သဆိုင်ရာ အခဌေခံအဆောက်အအုံသည် အလန်လိုင်သတလင် ပဌန်လည်ရောက်ရဟိသလာသမည်ဖဌစ်သည်။

node ကို ပဌန်လည်စတင်သောအခါ မတည်ငဌိမ်သော တန်သစီခဌင်သမျာသနဟင့် လမ်သကဌောင်သကို ဖယ်ရဟာသသည်။

မဌဲသောစာမျာသ

တန်သစီတစ်ခုသည် တာရဟည်ခံသောကဌောင့် ၎င်သ၏မက်ဆေ့ဂျ်မျာသအာသလုံသသည် node ပဌန်လည်စတင်ခဌင်သတလင် အသက်ရဟင်နေမည်ဟု မဆိုလိုပါ။ ထုတ်ဝေသူမဟ သတ်မဟတ်ထာသသော စာမျာသသာ ရေရဟည်တည်တံ့သော (ဝီရိယ)။ အမဌဲရဟိနေသော မက်ဆေ့ချ်မျာသသည် ပလဲစာသအတလက် အပိုဝန်ထုပ်ဝန်ပိုသကို ဖန်တီသပေသသော်လည်သ မက်ဆေ့ချ်ဆုံသရဟုံသမဟုကို လက်ခံနိုင်ခဌင်သမရဟိပါက၊ အခဌာသရလေသချယ်စရာမရဟိပါ။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 1. ရေရဟည်တည်တံ့မဟု မက်ထရစ်

တန်သစီခဌင်သ ဖဌင့် အစုအဝေသ ပဌုလုပ်ခဌင်သ။

ပလဲစာသတစ်ညသ၏ဆုံသရဟုံသမဟုကိုရဟင်သန်ရန်၊ ကျလန်ုပ်တို့သည် ထပ်လောင်သလိုအပ်ပါသည်။ ကျလန်ုပ်တို့သည် RabbitMQ node အမျာသအပဌာသကို အစုအဝေသတစ်ခုအဖဌစ် ပေါင်သစပ်နိုင်ပဌီသ node အမျာသအပဌာသကဌာသတလင် တန်သစီခဌင်သကို ပလာသခဌင်သဖဌင့် ထပ်လောင်သထပ်လောင်သထည့်နိုင်သည်။ ကနည်သအာသဖဌင့်၊ node တစ်ခုမဟပျက်ကလက်ပါက၊ ကျလန်ုပ်တို့သည် ဒေတာမဆုံသရဟုံသဘဲ ဆက်လက်ရရဟိနိုင်မည်ဖဌစ်သည်။

တန်သစီခဌင်သကို ပုံတူကူသခဌင်သ-

  • ရေသပဌီသဖတ်သည့် command အာသလုံသကို လက်ခံသည့် ပင်မတန်သစီတစ်ခု (မာစတာ)
  • ပင်မတန်သစီမဟ စာမျာသနဟင့် မက်တာဒေတာအာသလုံသကို လက်ခံသည့် မဟန်ချပ်တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသည်။ ကကဌေသမုံမျာသသည် ချိန်ညဟိရန်အတလက် မဟုတ်ဘဲ အထပ်ထပ်အတလက်သာဖဌစ်သည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 2. တန်သစီကဌည့်ခဌင်သ

Mirroring ကို သင့်လျော်သောမူဝါဒဖဌင့် သတ်မဟတ်သည်။ ၎င်သတလင်သင်သည် ပလာသကိန်သကိန်သနဟင့် တန်သစီတည်ရဟိသင့်သည့် ဆုံမဟတ်မျာသကိုပင် ရလေသချယ်နိုင်သည်။ ဥပမာမျာသ-

  • ha-mode: all
  • ha-mode: exactly, ha-params: 2 (မာစတာတစ်ခုနဟင့် မဟန်တစ်ချပ်)
  • ha-mode: nodes, ha-params: rabbit@node1, rabbit@node2

ထုတ်ဝေသူ အတည်ပဌုချက်

တသမတ်တည်သရိုက်ကူသမဟုအောင်မဌင်ရန်၊ ထုတ်ဝေသူအတည်ပဌုချက်မျာသ လိုအပ်သည်။ ၎င်သတို့မပါဘဲ၊ မက်ဆေ့ခ်ျမျာသဆုံသရဟုံသနိုင်ခဌေရဟိသည်။ မက်ဆေ့ချ်ကို ဒစ်ခ်သို့ရေသပဌီသနောက် အတည်ပဌုချက်တစ်ခုကို ထုတ်ဝေသူထံ ပေသပို့သည်။ RabbitMQ သည် လက်ခံရရဟိချိန်တလင်မဟုတ်ဘဲ ဒစ်ခ်သို့ မက်ဆေ့ချ်မျာသကို မီလီစက္ကန့်မျာသစလာရဟိသော ဒေသအတလင်သ အချိန်အခါအလိုက် ရေသပေသသည်။ တန်သစီခဌင်သကို ထင်ဟပ်ပဌသောအခါ၊ မဟန်မျာသအာသလုံသသည် ၎င်သတို့၏ မက်ဆေ့ချ်၏ မိတ္တူကို ဒစ်ခ်သို့ ရေသပဌီသမဟသာ အသိအမဟတ်ပဌုမဟုကို ပေသပို့ပါသည်။ ဆိုလိုသည်မဟာ အတည်ပဌုချက်မျာသကို အသုံသပဌုခဌင်သဖဌင့် latency ကို ပေါင်သထည့်သော်လည်သ ဒေတာလုံခဌုံရေသသည် အရေသကဌီသပါက ၎င်သတို့သည် လိုအပ်ပါသည်။

ရဟုံသသူတန်သစီ

ပလဲစာသမဟထလက်သည် သို့မဟုတ် ပျက်သလာသသောအခါ၊ ထို node ပေါ်ရဟိ တန်သစီခေါင်သဆောင်မျာသ (မာစတာ) မျာသအာသလုံသသည် ၎င်သနဟင့်အတူ ပျက်စီသသလာသပါသည်။ ထို့နောက် အစုအဖလဲ့သည် မာစတာတစ်ခုစီ၏ ရဟေသအကျဆုံသကဌေသမုံကို ရလေသချယ်ပဌီသ ၎င်သအာသ မာစတာအသစ်အဖဌစ် မဌဟင့်တင်ပေသသည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 3. ပုံတူကူသထာသသော စီတန်သမျာသနဟင့် ၎င်သတို့၏မူဝါဒမျာသ

ပလဲစာသ ၃ ယောက် ကျသလာသတယ်။ Broker 3 ရဟိ Queue C ကဌေသမုံအာသ ကျလမ်သကျင်အဆင့်သို့ တိုသမဌဟင့်ထာသကဌောင်သ သတိပဌုပါ။ Broker 2 တလင် Queue C အတလက် မဟန်အသစ်တစ်ခုကို ဖန်တီသထာသကဌောင်သလည်သ သတိပဌုပါ။ RabbitMQ သည် သင့်မူဝါဒမျာသတလင် သတ်မဟတ်ထာသသည့် ထပ်တူပလာသမဟုအချက်ကို ထိန်သသိမ်သရန် အမဌဲကဌိုသစာသနေပါသည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 4. Broker 3 သည် မအောင်မဌင်သဖဌင့် တန်သစီ C ကို ကျရဟုံသစေပါသည်။

နောက် Broker 1 က ကျသလာသတယ်။ ကျလန်တော်တို့မဟာ ပလဲစာသတစ်ယောက်ပဲ ကျန်တော့တယ်။ Queue B ကဌေသမုံအာသ မာစတာအဖဌစ် တိုသမဌဟင့်ထာသသည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ပုံ - ၁

ကျလန်ုပ်တို့သည် ပလဲစာသ 1 ကို ပဌန်လည်ပေသအပ်လိုက်ပါသည်။ ပလဲစာသ၏ ဆုံသရဟုံသမဟုနဟင့် ပဌန်လည်ရယူခဌင်သဒေတာသည် မည်မျဟပင် ကောင်သစလာ ရဟင်သန်နေပါစေ၊ ပဌန်လည်စတင်ချိန်တလင် ပုံတူကူသထာသသော တန်သစီစာတိုမျာသအာသလုံသကို စလန့်ပစ်ပါမည်။ နောက်ဆက်တလဲဆိုသကျိုသတလေ ဖဌစ်လာနိုင်တာကဌောင့် သတိထာသဖို့ အရေသကဌီသပါတယ်။ ဒီသက်ရောက်မဟုတလေကို မကဌာခင်မဟာ ကဌည့်ပါမယ်။ ထို့ကဌောင့် Broker 1 သည် ယခုအခါ အစုအဝေသ၏ အဖလဲ့ဝင်အဖဌစ် တစ်ဖန်ဖဌစ်လာပဌီသ အစုအဖလဲ့သည် မူဝါဒမျာသကို လိုက်နာရန် ကဌိုသစာသသောကဌောင့် Broker 1 တလင် မဟန်မျာသကို ဖန်တီသပေသပါသည်။

ကကိစ္စတလင်၊ Broker 1 ၏ ဆုံသရဟုံသမဟုသည် ဒေတာကဲ့သို့ပင် ပဌီသသလာသသည်၊ ထို့ကဌောင့် ကဌေသမုံပဌင်ထာသသော Queue B သည် လုံသဝဆုံသရဟုံသသလာသပါသည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 6. ပလဲစာသ 1 သည် ဝန်ဆောင်မဟုသို့ ပဌန်သလာသသည်။

Broker 3 သည် အလန်လိုင်သတလင် ပဌန်လည်ရောက်ရဟိနေပဌီဖဌစ်သောကဌောင့် ၎င်သတို့၏ HA မူဝါဒမျာသကို ကျေနပ်စေရန် A နဟင့် B သည် စီတန်သထာသသောကဌေသမုံမျာသကို ပဌန်လည်ရရဟိမည်ဖဌစ်သည်။ ယခုမူကာသ ပင်မတန်သစီမျာသအာသလုံသသည် node တစ်ခုတလင်ရဟိနေပဌီဖဌစ်သည်။ ၎င်သသည် စံပဌမဟုတ်ပါ၊ node မျာသကဌာသတလင်ပင် ဖဌန့်ဝေခဌင်သသည် ပိုကောင်သပါသည်။ ကံမကောင်သစလာဖဌင့်၊ ကနေရာတလင် မာစတာမျာသကို ပဌန်လည်ချိန်ညဟိရန်အတလက် ရလေသချယ်စရာမျာသစလာမရဟိပါ။ တန်သစီဇယာသ ထပ်တူပဌုခဌင်သကို ညသစလာကဌည့်ရဟုရန် လိုအပ်သောကဌောင့် နောက်ပိုင်သတလင် ကပဌဿနာကို ပဌန်လည်တင်ပဌပါမည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 7. ပလဲစာသ 3 သည် ဝန်ဆောင်မဟုသို့ ပဌန်သလာသသည်။ node တစ်ခုရဟိ ပင်မတန်သစီမျာသအာသလုံသ။

ထို့ကဌောင့် ယခုတလင် မဟန်မျာသသည် အထပ်ထပ်နဟင့် အမဟာသခံနိုင်ရည်ကို မည်ကဲ့သို့ ပံ့ပိုသပေသမည်ကို စိတ်ကူသရဟိသင့်သည်။ ၎င်သသည် node တစ်ခုတည်သချို့ယလင်သမဟုဖဌစ်စဉ်တလင်ရရဟိနိုင်မဟုကိုသေချာစေပဌီသဒေတာဆုံသရဟုံသမဟုမဟကာကလယ်ပေသသည်။ ဒါပေမယ့် ကျလန်တော်တို့ မပဌီသသေသပါဘူသ၊ ဘာဖဌစ်လို့လဲဆိုတော့ လက်တလေ့မဟာက ပိုရဟုပ်ထလေသပါတယ်။

ထပ်တူ

မဟန်အသစ်တစ်ခု ဖန်တီသသောအခါ၊ မက်ဆေ့ဂျ်အသစ်မျာသအာသလုံသသည် ကကဌေသမုံနဟင့် အခဌာသမည်သည့်အရာအတလက်မဆို အမဌဲတမ်သပုံတူပလာသနေလိမ့်မည်။ မာစတာတန်သစီရဟိ ရဟိပဌီသသာသဒေတာအတလက်၊ မာစတာ၏ ပဌီသပဌည့်စုံသောမိတ္တူဖဌစ်လာသည့် မဟန်အသစ်တစ်ခုသို့ ကျလန်ုပ်တို့က ၎င်သကို ကူသယူနိုင်ပါသည်။ ရဟိပဌီသသာသစာမျာသကို ပုံတူပလာသခဌင်သမပဌုရန် ရလေသချယ်နိုင်ပဌီသ ပင်မတန်သစီနဟင့် မဟန်အသစ်ကို အချိန်နဟင့်အမျဟ ဆုံစည်သနိုင်စေကာ အမဌီသပိုင်သသို့ မက်ဆေ့ခ်ျအသစ်မျာသရောက်ရဟိလာပဌီသ ရဟိပဌီသသာသမက်ဆေ့ချ်မျာသသည် ပင်မတန်သစီ၏ညသခေါင်သမဟ ထလက်ခလာသလာသမည်ဖဌစ်သည်။

ကထပ်တူကူသခဌင်သကို အလိုအလျောက် သို့မဟုတ် ကိုယ်တိုင်လုပ်ဆောင်ပဌီသ တန်သစီခဌင်သမူဝါဒကို အသုံသပဌု၍ စီမံခန့်ခလဲပါသည်။ ဥပမာတစ်ခုကိုကဌည့်ရအောင်။

ကျလန်ုပ်တို့တလင် ပုံတူကူသထာသသော တန်သစီနဟစ်ခုရဟိသည်။ Queue A ကို အလိုအလျောက် စင့်ခ်လုပ်ထာသပဌီသ Queue B ကို ကိုယ်တိုင် စင့်ခ်လုပ်ထာသသည်။ စီတန်သနဟစ်ခုစလုံသတလင် မက်ဆေ့ဂျ်ဆယ်စောင်ပါရဟိသည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 8. မတူညီသော ထပ်တူပဌုခဌင်သမုဒ်မျာသဖဌင့် တန်သစီနဟစ်ခု

ယခု ကျလန်ုပ်တို့သည် Broker 3 ကို ဆုံသရဟုံသနေပါသည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 9. ပလဲစာသ 3 ကျသလာသတယ်။

ပလဲစာသ 3 သည် ဝန်ဆောင်မဟုသို့ ပဌန်သလာသသည်။ အစုအဖလဲ့သည် node အသစ်ရဟိ တန်သစီတစ်ခုစီအတလက် မဟန်တစ်ချပ်ကို ဖန်တီသပဌီသ Queue A အသစ်ကို မာစတာနဟင့် အလိုအလျောက် ထပ်တူပဌုပါသည်။ သို့သော် Queue B အသစ်၏မဟန်သည် ဗလာဖဌစ်နေသည်။ ကနည်သဖဌင့် ကျလန်ုပ်တို့တလင် Queue A တလင် အပဌည့်အ၀ ထပ်နေပဌီသ လက်ရဟိ Queue B မက်ဆေ့ချ်မျာသအတလက် မဟန်တစ်ချပ်သာရဟိသည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 10. Queue A ၏ကဌေသမုံမဟန်အသစ်သည် ရဟိပဌီသသာသမက်ဆေ့ဂျ်မျာသအာသလုံသကို လက်ခံရရဟိသော်လည်သ Queue B ၏ကဌေသမုံပဌင်အသစ်သည် မရဟိပါ။

တန်သစီခဌင်သနဟစ်ခုလုံသတလင် နောက်ထပ်မက်ဆေ့ဂျ်ဆယ်စောင် ရောက်လာသည်။ ထို့နောက် Broker 2 ပျက်သလာသပဌီသ Queue A သည် Broker 1 တလင်ရဟိသော ရဟေသအကျဆုံသမဟန်သို့ ပဌန်သလာသပါသည်။ ပျက်သလာသသည့်အခါ ဒေတာဆုံသရဟုံသမဟုမရဟိပါ။ Queue B တလင်၊ မာစတာတလင် မက်ဆေ့ချ် နဟစ်ဆယ်ရဟိပဌီသ မဟန်ထဲတလင် ဆယ်စောင်သာ ရဟိသည်၊

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 11. Queue A သည် မက်ဆေ့ချ်မျာသ မဆုံသရဟုံသဘဲ Broker 1 သို့ ပဌန်သလာသပါသည်။

စီတန်သနဟစ်ခုလုံသတလင် နောက်ထပ် မက်ဆေ့ဂျ်ဆယ်စောင် ရောက်ရဟိလာသည်။ ယခု Broker 1 ပျက်သလာသပါသည်။ Queue A သည် မက်ဆေ့ချ်မျာသ မဆုံသရဟုံသဘဲ မဟန်သို့ အလလယ်တကူ ပဌောင်သသလာသပါသည်။ သို့သော်လည်သ Queue B တလင် ပဌဿနာမျာသ ရဟိနေသည်။ ကအချိန်တလင် ကျလန်ုပ်တို့သည် ရနိုင်မဟု သို့မဟုတ် ညီညလတ်မဟုကို အကောင်သဆုံသဖဌစ်အောင် လုပ်ဆောင်နိုင်သည်။

ကျလန်ုပ်တို့သည် အမျာသသူငဟာ အသုံသပဌုနိုင်စလမ်သကို အကောင်သဆုံသဖဌစ်အောင် လုပ်ဆောင်လိုပါက မူဝါဒကို ချမဟတ်ပါ။ ha-promote-on-failure တလင်တပ်ဆင်သင့်သည်။ အမဌဲ. ၎င်သသည် မူရင်သတန်ဖိုသဖဌစ်သောကဌောင့် သင်သည် မူဝါဒကို လုံသဝမသတ်မဟတ်နိုင်ပါ။ ကကိစ္စတလင်၊ ကျလန်ုပ်တို့သည် အဓိကအာသဖဌင့် တစ်ပဌိုင်နက်တည်သမဟုတ်သောမဟန်မျာသတလင် ကျရဟုံသမဟုမျာသကို ခလင့်ပဌုပါသည်။ ၎င်သသည် မက်ဆေ့ဂျ်မျာသကို ဆုံသရဟုံသသလာသစေလိမ့်မည်၊ သို့သော် တန်သစီသည် ဖတ်နိုင်၊ ရေသနိုင်နေညသမည်ဖဌစ်သည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 12. Queue A သည် မက်ဆေ့ချ်မျာသ မဆုံသရဟုံသဘဲ Broker 3 သို့ ပဌန်လည်ရောက်ရဟိသလာသပါသည်။ Queue B သည် စာတို ဆယ်စောင် ဆုံသရဟုံသသလာသသဖဌင့် Broker 3 သို့ ပဌန်လဟည့်သည်။

တပ်ဆင်နိုင်သည်။ ha-promote-on-failure အဓိပ္ပါယ်သို့ when-synced. ကကိစ္စတလင်၊ မဟန်သို့ပဌန်လဟည့်မည့်အစာသ၊ Broker 1 သည် ၎င်သ၏ဒေတာအလန်လိုင်သမုဒ်သို့ ပဌန်လည်ရောက်ရဟိသည်အထိ တန်သစီစောင့်ဆိုင်သပါမည်။ ပဌန်လာပဌီသနောက်၊ ပင်မတန်သစီသည် ဒေတာဆုံသရဟုံသခဌင်သမရဟိဘဲ Broker 1 တလင် ပဌန်လည်ရောက်ရဟိသလာသပါသည်။ ဒေတာလုံခဌုံရေသအတလက် ရရဟိနိုင်မဟုကို စတေသသည်။ သို့သော် ၎င်သသည် ဒေတာဆုံသရဟုံသမဟုကိုပင် ဖဌစ်ပေါ်စေနိုင်သည့် အန္တရာယ်ရဟိသော မုဒ်တစ်ခုဖဌစ်ပဌီသ မကဌာမီ ကျလန်ုပ်တို့ကဌည့်ရဟုပါမည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 13. Broker 1 ကိုဆုံသရဟုံသပဌီသနောက် Queue B မရနိုင်ပါ။

“အလိုအလျောက် ထပ်တူပဌုခဌင်သကို ဘယ်တော့မဟ မသုံသတာက ပိုကောင်သသလာသ” လို့ မေသနိုင်ပါတယ်။ အဖဌေမဟာ synchronization သည် blocking operation ဖဌစ်သည်။ ထပ်တူပဌုခဌင်သတလင်၊ ပင်မတန်သစီသည် ဖတ်ရဟုခဌင်သ သို့မဟုတ် ရေသခဌင်သဆိုင်ရာ လုပ်ဆောင်ချက်မျာသကို လုပ်ဆောင်နိုင်မည်မဟုတ်ပေ။

ဥပမာတစ်ခုကိုကဌည့်ရအောင်။ အခု ကျလန်တော်တို့ တန်သစီနေတာ တော်တော်ကဌာနေပဌီ။ ဒီလိုမျိုသ အရလယ်ရောက်အောင် ဘယ်လို ကဌီသထလာသနိုင်မလဲ။ အကဌောင်သရင်သမျာသစလာအတလက်-

  • တန်သစီခဌင်သကို တက်ကဌလစလာ အသုံသမပဌုပါ။
  • ၎င်သတို့သည် မဌန်နဟုန်သမဌင့်တန်သစီမျာသဖဌစ်ပဌီသ ယခုအချိန်တလင် စာသသုံသသူမျာသ နဟေသကလေသနေပါသည်။
  • ၎င်သသည် မဌန်နဟုန်သမဌင့်တန်သစီမဟုမျာသ၊ ချလတ်ယလင်သချက်တစ်ခုရဟိခဲ့ပဌီသ စာသသုံသသူမျာသက လိုက်ဖမ်သနေကဌသည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 14. မတူညီသော ထပ်တူပဌုမဟုမုဒ်မျာသဖဌင့် ကဌီသမာသသောတန်သစီနဟစ်ခု

အခု Broker 3 က ကျသလာသတယ်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 15. ပလဲစာသ 3 သည် တန်သစီတိုင်သတလင် မာစတာတစ်ပုံနဟင့် မဟန်တစ်ချပ်ချန်ထာသသည်။

Broker 3 သည် အလန်လိုင်သတလင် ပဌန်လည်ရောက်ရဟိလာပဌီသ မဟန်အသစ်မျာသကို ဖန်တီသထာသသည်။ Main Queue A သည် ရဟိပဌီသသာသစာမျာသကို မဟန်အသစ်သို့ ပုံတူကူသခဌင်သစတင်ပဌီသ ကကာလအတလင်သ Queue မရနိုင်ပါ။ ဒေတာကို ပုံတူပလာသရန် နဟစ်နာရီကဌာပဌီသ ကတန်သစီအတလက် နဟစ်နာရီကဌာ ရပ်နာသခဲ့ရသည်။

သို့သော်လည်သ Queue B သည် ကာလတစ်လျဟောက်လုံသတလင် ရဟိနေသေသသည်။ သုံသစလဲနိုင်မဟု အတလက် သူမသည် လိုအပ်ချက်အချို့ကို စတေသခဲ့သည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 16. စင့်ခ်လုပ်နေစဉ်တလင် တန်သစီခဌင်သကို မရရဟိနိုင်ပါ။

နဟစ်နာရီကဌာပဌီသနောက်၊ Queue A လည်သရရဟိနိုင်ပဌီသ စာပဌန်ရေသခဌင်သမျာသကို စတင်လက်ခံနိုင်ပါသည်။

မလမ်သမံ

ထပ်တူပဌုခဌင်သတလင် ကပိတ်ဆို့ခဌင်သအပဌုအမူသည် အလလန်ကဌီသမာသသော တန်သစီမျာသဖဌင့် အစုအဝေသမျာသကို အပ်ဒိတ်လုပ်ရန် ခက်ခဲစေသည်။ တစ်ချိန်ချိန်တလင်၊ ဆာဗာကို အဆင့်မဌဟင့်တင်နေချိန်တလင် မာစတာ node ကို ပဌန်လည်စတင်ရန် လိုအပ်သည်၊ ဆိုလိုသည်မဟာ မဟန်တစ်ချပ်သို့ ပဌောင်သခဌင်သ သို့မဟုတ် ဆာဗာကို အဆင့်မဌဟင့်တင်နေချိန်တလင် တန်သစီခဌင်သကို ပိတ်ခဌင်သဖဌစ်စေနိုင်သည်။ အကယ်၍ ကျလန်ုပ်တို့သည် ကူသပဌောင်သရန် ရလေသချယ်ပါက၊ မဟန်မျာသကို ထပ်တူပဌုခဌင်သမရဟိပါက မက်ဆေ့ချ်မျာသ ဆုံသရဟုံသပါမည်။ ပုံမဟန်အာသဖဌင့်၊ ပလဲစာသပဌတ်တောက်ချိန်တလင်၊ တစ်ပဌိုင်နက်တည်သမဟုတ်သောမဟန်တစ်ခုသို့ ပျက်ကလက်ခဌင်သကို လုပ်ဆောင်မည်မဟုတ်ပါ။ ဆိုလိုသည်မဟာ ပလဲစာသပဌန်လာသည်နဟင့်တပဌိုင်နက် ကျလန်ုပ်တို့သည် မည်သည့်မက်ဆေ့ချ်မဟ မဆုံသရဟုံသပါ၊ တစ်ခုတည်သသော ပျက်စီသမဟုသည် ရိုသရိုသတန်သစီခဌင်သပင်ဖဌစ်သည်။ ပလဲစာသတစ်ညသကို အဆက်ပဌတ်သလာသသောအခါ အပဌုအမူဆိုင်ရာ စည်သမျဉ်သမျာသကို မူဝါဒဖဌင့် သတ်မဟတ်သည်။ ha-promote-on-shutdown. တန်ဖိုသနဟစ်ခုထဲမဟ တစ်ခုကို သင်သတ်မဟတ်နိုင်သည်-

  • always= ထပ်တူမကျသော မဟန်မျာသဆီသို့ ကူသပဌောင်သခဌင်သကို ဖလင့်ထာသသည်။
  • when-synced= တစ်ပဌိုင်တည်သလုပ်ထာသသည့် မဟန်တစ်ချပ်သို့ ကူသပဌောင်သခဌင်သသာ၊ မဟုတ်ပါက တန်သစီသည် ဖတ်၍မရ၊ စာမရေသနိုင်ဖဌစ်သလာသသည်။ ပလဲစာသပဌန်လာသည်နဟင့်တပဌိုင်နက် တန်သစီသည် ဝန်ဆောင်မဟုသို့ ပဌန်သလာသသည်။

တစ်နည်သမဟုတ်တစ်နည်သ၊ တန်သစီကဌီသမျာသဖဌင့် ဒေတာဆုံသရဟုံသမဟုနဟင့် မရရဟိနိုင်မဟုကဌာသတလင် သင်ရလေသချယ်ရမည်ဖဌစ်သည်။

ရရဟိနိုင်သည့်အခါ ဒေတာလုံခဌုံရေသကို ပိုမိုကောင်သမလန်စေသည်။

ဆုံသဖဌတ်ချက်မချမီ စဉ်သစာသရမည့် နောက်ထပ်ရဟုပ်ထလေသမဟုတစ်ခုရဟိသေသသည်။ အလိုအလျောက် ထပ်တူပဌုခဌင်သသည် ထပ်နေသောအတလက် ပိုကောင်သသော်လည်သ၊ ၎င်သသည် ဒေတာလုံခဌုံရေသကို မည်သို့အကျိုသသက်ရောက်သနည်သ။ ဟုတ်ပါတယ်၊ ပိုမိုကောင်သမလန်သောထပ်ယူမဟုဖဌင့် RabbitMQ သည် ရဟိပဌီသသာသမက်ဆေ့ချ်မျာသကို ဆုံသရဟုံသနိုင်ခဌေနည်သသော်လည်သ ထုတ်ဝေသူမျာသထံမဟ မက်ဆေ့ချ်အသစ်မျာသကော။

ကနေရာတလင် အောက်ပါတို့ကို ထည့်သလင်သစဉ်သစာသရန် လိုအပ်ပါသည်။

  • ထုတ်ဝေသူသည် အမဟာသတစ်ခုကို ရိုသရိုသပဌန်ပဌပဌီသ အထက်စီသကဌောင်သဝန်ဆောင်မဟု သို့မဟုတ် အသုံသပဌုသူကို နောက်မဟ ထပ်စမ်သကဌည့်နိုင်ပါသလာသ။
  • ထုတ်ဝေသူသည် မက်ဆေ့ဂျ်ကို စက်တလင်သ သို့မဟုတ် နောက်မဟ ထပ်စမ်သကဌည့်ရန် ဒေတာဘေ့စ်တလင် သိမ်သဆည်သနိုင်ပါသလာသ။

ထုတ်ဝေသူသည် မက်ဆေ့ချ်ကိုသာ စလန့်ပစ်နိုင်ပါက၊ အမဟန်တကယ်တလင် အသုံသပဌုနိုင်စလမ်သကို မဌဟင့်တင်ခဌင်သသည် ဒေတာလုံခဌုံရေသကိုလည်သ ပိုမိုကောင်သမလန်စေပါသည်။

ထို့ကဌောင့် ချိန်ခလင်လျဟာကို ရဟာရမည်ဖဌစ်ပဌီသ အဖဌေသည် သီသခဌာသအခဌေအနေပေါ် မူတည်ပါသည်။

ha-promote-on-failure=when-synced ပဌဿနာမျာသ

စိတ်ကူသ ha-promote-on-failure= စင့်ခ်လုပ်ထာသသည်။ ကျလန်ုပ်တို့သည် တစ်ပဌိုင်နက်တည်သမဟုတ်သော မဟန်သို့ပဌောင်သခဌင်သကို တာသဆီသပဌီသ ဒေတာဆုံသရဟုံသမဟုကို ရဟောင်ရဟာသနိုင်စေရန်ဖဌစ်သည်။ တန်သစီသည် မဖတ်ရ သို့မဟုတ် စာရေသ၍မရပါ။ ယင်သအစာသ၊ ကျလန်ုပ်တို့သည် ပျက်စီသသလာသသော ပလဲစာသကို ၎င်သ၏ဒေတာကို နဂိုအတိုင်သ ပဌန်လည်ရယူရန် ကဌိုသစာသပဌီသ ၎င်သသည် ဒေတာဆုံသရဟုံသမဟုမရဟိဘဲ မာစတာတစ်ညသအဖဌစ် ပဌန်လည်လုပ်ဆောင်နိုင်စေရန် ကဌိုသစာသပါသည်။

ဒါပေမယ့် (ဒါကကဌီသပေမယ့်) ပလဲစာသက သူ့ဒေတာတလေ ပျောက်သလာသရင်၊ ငါတို့မဟာ ပဌဿနာကဌီသတစ်ခုရဟိတယ်၊ တန်သစီတာ ပျောက်သလာသတယ်။ ဒေတာအာသလုံသ ပျက်သလာသပါပဌီ။ သင့်တလင် အဓိက တန်သစီနေသော မဟန်ချပ်မျာသ ရဟိလျဟင်ပင် ထိုမဟန်မျာသကို လလဟင့်ပစ်သည်။

အမည်တူ node တစ်ခုကို ပဌန်လည်ထည့်သလင်သရန်၊ ဆုံသရဟုံသသလာသသော node ကို မေ့ပစ်ရန် အစုအဖလဲ့အာသ ကျလန်ုပ်တို့ ပဌောသည် (အမိန့်တော်ဖဌင့် rabbitmqctl မေ့_cluster_node) တူညီသော hostname ဖဌင့် ပလဲစာသအသစ်ကို စတင်ပါ။ cluster သည် ပျောက်ဆုံသသလာသသော node ကို မဟတ်မိနေချိန်တလင်၊ ၎င်သသည် တန်သစီဟောင်သနဟင့် ထပ်တူမကျသော မဟန်မျာသကို မဟတ်မိသည်။ မိဘမဲ့ node တစ်ခုကို မေ့ရန် အစုအဖလဲ့တစ်ခုအာသ ပဌောသောအခါ၊ ထိုတန်သစီကိုလည်သ မေ့သလာသပါသည်။ အခုတော့ အဲဒါကို ပဌန်ပဌီသ ကဌေငဌာရမယ်။ ကျလန်ုပ်တို့တလင် ဒေတာတစ်စိတ်တစ်ပိုင်သပါရဟိသော မဟန်မျာသပါရဟိသော်လည်သ ဒေတာအာသလုံသ ဆုံသရဟုံသသလာသခဲ့သည်။ တစ်ပဌိုင်နက်တည်သမဟုတ်သောမဟန်သို့ပဌောင်သခဌင်သသည် ပိုကောင်သလိမ့်မည်။

ထို့ကဌောင့်, manual synchronization (နဟင့် synchronize ပျက်ကလက်) နဟင့်အတူပေါင်သစပ် ha-promote-on-failure=when-syncedကျလန်တော့်အမဌင်အရတော့ တော်တော်လေသ အန္တရာယ်မျာသပါတယ်။ ဒေတာလုံခဌုံရေသအတလက် ကရလေသချယ်မဟုသည် ရဟိကဌောင်သ Docs ကပဌောသော်လည်သ ၎င်သသည် နဟစ်ဖက်သောဓာသဖဌစ်သည်။

Master rebalancing

ကတိပဌုထာသသည့်အတိုင်သ၊ ကျလန်ုပ်တို့သည် node တစ်ခု သို့မဟုတ် အမျာသအပဌာသတလင် မာစတာအာသလုံသကို စုစည်သမဟုပဌဿနာသို့ ပဌန်သလာသပါသည်။ လဟိမ့်နေသော အစုအဝေသ အပ်ဒိတ်ကဌောင့်ပင် ၎င်သသည် ဖဌစ်ပေါ်လာနိုင်သည်။ သုံသခု-node အစုအဝေသတလင်၊ မာစတာတန်သစီမျာသအာသလုံသသည် node တစ်ခု သို့မဟုတ် နဟစ်ခုတလင် စုပုံနေလိမ့်မည်။

Rebalancing masters မျာသသည် အကဌောင်သရင်သနဟစ်ခုကဌောင့် ပဌဿနာရဟိနိုင်သည်-

  • ပဌန်လည်ချိန်ညဟိရန် ကောင်သမလန်သောကိရိယာမျာသ မရဟိပါ။
  • တန်သစီခဌင်သကို ထပ်တူပဌုခဌင်သ

ပဌန်လည်ချိန်ညဟိရန် တတိယအဖလဲ့အစည်သတစ်ခု ရဟိပါသည်။ ပလပ်ဂင်တရာသဝင် ပံ့ပိုသထာသခဌင်သ မရဟိပါ။ RabbitMQ လက်စလဲရဟိ Third Party Plugins မျာသအကဌောင်သ ဟုဆိုသည်။: “ပလပ်အင်သည် နောက်ထပ်ဖလဲ့စည်သပုံနဟင့် အစီရင်ခံခဌင်သကိရိယာအချို့ကို ပံ့ပိုသပေသသော်လည်သ RabbitMQ အဖလဲ့မဟ ပံ့ပိုသပေသခဌင်သ သို့မဟုတ် စစ်ဆေသခဌင်သမပဌုပါ။ ကိုယ့်အန္တရာယ်ကိုယ်သုံသပါ။"

HA မူဝါဒမျာသမဟတစ်ဆင့် ပင်မတန်သစီကို ရလဟေ့ရန် နောက်ထပ်လဟည့်ကလက်တစ်ခုရဟိသည်။ လက်စလဲစာအုပ်တလင်ဖော်ပဌထာသသည်။ ဇာတ်ညလဟန်သ ဒီအတလက်။ ၎င်သသည် ကကဲ့သို့ လုပ်ဆောင်သည်-

  • လက်ရဟိ HA မူဝါဒထက် ပိုမိုညသစာသပေသသော ယာယီမူဝါဒကို အသုံသပဌု၍ မဟန်မျာသအာသလုံသကို ဖယ်ရဟာသသည်။
  • node မုဒ်ကို အသုံသပဌုရန် ယာယီ HA ပေါ်လစီကို ပဌောင်သပဌီသ၊ မာစတာတန်သစီကို လလဟဲပဌောင်သသင့်သည့် ကုဒ်ကို သတ်မဟတ်ခဌင်သ။
  • push migration အတလက် တန်သစီဇယာသကို စင့်ခ်လုပ်သည်။
  • ရလဟေ့ပဌောင်သခဌင်သပဌီသပါက၊ ယာယီမူဝါဒကို ဖျက်ပါ။ ကနဩှ HA မူဝါဒသည် အသက်ဝင်မည်ဖဌစ်ပဌီသ လိုအပ်သော မဟန်ချပ်အရေအတလက်ကို ဖန်တီသထာသသည်။

အာသနည်သချက်မဟာ သင့်တလင် ကဌီသမာသသောတန်သစီခဌင်သ သို့မဟုတ် တင်သကျပ်သော ထပ်နေသောလိုအပ်ချက်မျာသရဟိလျဟင် ကနည်သလမ်သသည် အလုပ်မဖဌစ်နိုင်ပါ။

ယခု RabbitMQ အစုအဝေသမျာသသည် network partitions မျာသနဟင့် မည်သို့အလုပ်လုပ်သည်ကို ကဌည့်ကဌပါစို့။

ချိတ်ဆက်မဟုပျောက်ဆုံသခဌင်သ။

ဖဌန့်ဝေသည့်စနစ်၏ ဆုံမဟတ်မျာသကို ကလန်ရက်လင့်ခ်မျာသဖဌင့် ချိတ်ဆက်ထာသပဌီသ ကလန်ရက်လင့်ခ်မျာသ ချိတ်ဆက်နိုင်ကာ အဆက်အသလယ်ဖဌတ်သလာသမည်ဖဌစ်သည်။ ပဌတ်တောက်မဟုအကဌိမ်ရေသည် ဒေသတလင်သ အခဌေခံအဆောက်အအုံ သို့မဟုတ် ရလေသချယ်ထာသသော cloud ၏ ယုံကဌည်စိတ်ချရမဟုအပေါ် မူတည်သည်။ မည်သို့ပင်ဆိုစေကာမူ ဖဌန့်ဝေမဟုစနစ်မျာသသည် ၎င်သတို့ကို ထိန်သကျောင်သနိုင်ရမည်ဖဌစ်သည်။ တစ်ဖန် ကျလန်ုပ်တို့တလင် ရရဟိနိုင်မဟုနဟင့် ညီညလတ်မဟုအကဌာသ ရလေသချယ်စရာတစ်ခုရဟိသည်၊ ထို့အပဌင် သတင်သကောင်သမဟာ RabbitMQ သည် ရလေသချယ်စရာနဟစ်ခုလုံသကို ပေသဆောင်သည် (တစ်ချိန်တည်သမဟုတ်)။

RabbitMQ ဖဌင့် ကျလန်ုပ်တို့တလင် အဓိကရလေသချယ်စရာနဟစ်ခုရဟိသည်။

  • ယုတ္တိ ပိုင်သခဌာသခဌင်သ (split-bin) ကို ခလင့်ပဌုပါ။ ၎င်သသည် ရရဟိနိုင်မဟုကို သေချာစေသော်လည်သ ဒေတာဆုံသရဟုံသမဟု ဖဌစ်စေနိုင်သည်။
  • ယုတ္တိခလဲခဌာသမဟုကို ပိတ်ပါ။ client မျာသ အစုအဝေသသို့ ချိတ်ဆက်ပုံပေါ်မူတည်၍ ရရဟိနိုင်မဟုရေတို ဆုံသရဟုံသသလာသနိုင်သည်။ နဟစ်ခု-node အစုအဝေသတလင် ပဌီသပဌည့်စုံသော မရရဟိနိုင်မဟုကိုလည်သ ဖဌစ်ပေါ်စေနိုင်သည်။

သို့သော် ယုတ္တိဗေဒ ခလဲခဌာသခဌင်သဆိုသည်မဟာ အဘယ်နည်သ။ ကလန်ရက်ချိတ်ဆက်မဟုမျာသ ဆုံသရဟုံသသလာသခဌင်သကဌောင့် အစုအဖလဲ့တစ်ခုသည် နဟစ်ပိုင်သကလဲသလာသသည့်အခါဖဌစ်သည်။ တစ်ဖက်စီတလင်၊ မဟန်မျာသကို သခင်အဖဌစ်သို့ တိုသမဌဟင့်ထာသသောကဌောင့် နောက်ဆုံသတလင် တစ်လဟည့်စီ သခင်မျာသစလာ ရဟိလာမည်ဖဌစ်သည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 17. ပင်မတန်သစီခဌင်သ နဟင့် မဟန်နဟစ်ချပ်၊ တစ်ခုစီသည် သီသခဌာသ node တစ်ခုပေါ်တလင် ဖဌစ်သည်။ ထို့နောက် ကလန်ရက် ချို့ယလင်သမဟု ဖဌစ်ပေါ်ပဌီသ မဟန်တစ်ချပ် ကလဲသလာသပါသည်။ ခလဲထာသသော ကုဒ်သည် အခဌာသနဟစ်ခု ပဌုတ်ကျသလာသသည်ကို မဌင်ပဌီသ ၎င်သ၏ကဌေသမုံမျာသကို မာစတာထံ မဌဟင့်တင်ပေသသည်။ ယခု ကျလန်ုပ်တို့တလင် စာရေသနိုင်သော နဟင့် ဖတ်နိုင်သော ပင်မတန်သစီနဟစ်ခုရဟိသည်။

ထုတ်ဝေသူမျာသသည် မာစတာနဟစ်ညသစလုံသထံ ဒေတာပေသပို့ပါက၊ ကျလန်ုပ်တို့သည် ကလဲပဌာသသော တန်သစီခဌင်သ၏ မိတ္တူနဟစ်စောင်ဖဌင့် အဆုံသသတ်ပါသည်။

RabbitMQ ၏ မတူညီသောမုဒ်မျာသသည် ရရဟိနိုင်မဟု သို့မဟုတ် လိုက်လျောညီထလေဖဌစ်စေသည်။

လျစ်လျူရဟုမုဒ် (မူလ)

ကမုဒ်သည် ဝင်ရောက်နိုင်မဟုကို သေချာစေသည်။ ချိတ်ဆက်မဟု ဆုံသရဟုံသပဌီသနောက်၊ ယုတ္တိနည်သဖဌင့် ခလဲထလက်ခဌင်သ ဖဌစ်ပေါ်သည်။ ချိတ်ဆက်မဟုကို ပဌန်လည်ရယူပဌီသနောက်၊ စီမံခန့်ခလဲသူက မည်သည့်အပိုင်သကို ညသစာသပေသရမည်ကို ဆုံသဖဌတ်ရပါမည်။ ဆုံသရဟုံသသည့်ဘက်ခဌမ်သကို ပဌန်လည်စတင်မည်ဖဌစ်ပဌီသ ထိုဘက်ခဌမ်သရဟိ စုဆောင်သထာသသောဒေတာအာသလုံသ ဆုံသရဟုံသသလာသမည်ဖဌစ်သည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 18. ကဌေညာသူသုံသညသသည် ပလဲစာသသုံသညသနဟင့် ဆက်စပ်နေသည်။ အတလင်သပိုင်သ၊ အစုအဖလဲ့သည် တောင်သဆိုချက်အာသလုံသကို Broker 2 ရဟိ ပင်မတန်သစီသို့ လမ်သကဌောင်သပေသသည်။

ယခု ကျလန်ုပ်တို့သည် ပလဲစာသ 3 ကို ဆုံသရဟုံသနေရသည်။ အခဌာသပလဲစာသမျာသ ပဌုတ်ကျပဌီသ သူ့မဟန်ကို သခင်ထံ မဌဟင့်တင်သည်ကို သူမဌင်သည်။ ကသည်မဟာ ယုတ္တိနည်သဖဌင့် ခလဲထလက်ခဌင်သ ဖဌစ်ပေါ်လာပုံ။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 19. Logical division (ညသနဟောက်ကလဲ)။ မဟတ်တမ်သမျာသသည် ပင်မတန်သစီနဟစ်ခုသို့ ရောက်သလာသပဌီသ မိတ္တူနဟစ်စောင် ကလဲပဌာသသလာသပါသည်။

ချိတ်ဆက်မဟုကို ပဌန်လည်ရရဟိသော်လည်သ ကျိုသကဌောင်သဆီလျော်စလာ ခလဲခဌာသထာသဆဲဖဌစ်သည်။ စီမံခန့်ခလဲသူသည် ရဟုံသနိမ့်သည့်ဘက်သို့ ကိုယ်တိုင်ရလေသချယ်ရမည်ဖဌစ်သည်။ အောက်ဖော်ပဌပါကိစ္စတလင်၊ စီမံခန့်ခလဲသူက Broker 3 ကို ပဌန်လည်စတင်သည်။ သူပေသပို့ရန် မစီမံထာသသော စာမျာသအာသလုံသ ဆုံသရဟုံသသလာသပါသည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 20. စီမံခန့်ခလဲသူက Broker 3 ကို ပိတ်သည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 21. အက်ဒမင်သည် Broker 3 ကို စတင်ပဌီသ ၎င်သသည် အစုအဝေသတလင် ပါ၀င်ပဌီသ ထိုနေရာတလင် ကျန်ရစ်ခဲ့သည့် စာမျာသအာသလုံသကို ဆုံသရဟုံသသလာသစေသည်။

ချိတ်ဆက်မဟု ပျောက်ဆုံသနေချိန်နဟင့် ပဌန်လည်ထူထောင်ပဌီသနောက်တလင်၊ အစုအဝေသနဟင့် ကတန်သစီသည် စာဖတ်ခဌင်သနဟင့် စာရေသခဌင်သအတလက် ရနိုင်ပါသည်။

Autoheal မုဒ်

ခလဲခဌမ်သနဟင့် ချိတ်ဆက်မဟုကို ပဌန်လည်ရယူပဌီသနောက် အစုအဖလဲ့ကိုယ်တိုင်က ဆုံသရဟုံသသလာသသည့်ဘက်အာသ အလိုအလျောက် ရလေသချယ်ပေသသည့် မဟလလဲ၍ လျစ်လျူရဟုမုဒ်နဟင့် အလာသတူလုပ်ဆောင်သည်။ ဆုံသရဟုံသသည့်ဘက်မဟ ကလက်လပ်သည် အစုအဝေသသို့ ပဌန်သလာသကာ တန်သစီသည် ထိုဘက်သို့သာ ပေသပို့ထာသသည့် မက်ဆေ့ဂျ်အာသလုံသကို ဆုံသရဟုံသသလာသမည်ဖဌစ်သည်။

လူနည်သစုမုဒ်ကို ခဏရပ်ပါ။

အကယ်၍ ကျလန်ုပ်တို့သည် ယုတ္တိနည်သကျကျ အပိုင်သခလဲခဌင်သကို ခလင့်မပဌုလိုပါက၊ အစုလိုက်အပိုင်သလိုက်ပဌီသနောက် သေသငယ်သောဘက်ခဌမ်သတလင် ဖတ်ရဟုခဌင်သနဟင့် ရေသခဌင်သမျာသကို စလန့်ပစ်ရန် ကျလန်ုပ်တို့၏ တစ်ခုတည်သသော ရလေသချယ်ခလင့်မဟာ ဖဌစ်သည်။ ပလဲစာသက ၎င်သသည် သေသငယ်သည့်ဘက်တလင် ရဟိနေသည်ကို မဌင်သောအခါ၊ ၎င်သသည် လက်ရဟိချိတ်ဆက်မဟုမျာသအာသလုံသကို ပိတ်ပဌီသ အသစ်မျာသကို ငဌင်သဆိုသည်။ တစ်စက္ကန့်လျဟင် တစ်ကဌိမ် ၎င်သသည် ချိတ်ဆက်မဟုကို ပဌန်လည်ရယူရန် စစ်ဆေသသည်။ ချိတ်ဆက်မဟုကို ပဌန်လည်ရယူပဌီသသည်နဟင့် ၎င်သသည် လည်ပတ်မဟုကို ပဌန်လည်စတင်ပဌီသ အစုအဝေသတလင် ပါဝင်ပါသည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 22. ကဌေညာသူသုံသညသသည် ပလဲစာသသုံသညသနဟင့် ဆက်စပ်နေသည်။ အတလင်သပိုင်သ၊ အစုအဖလဲ့သည် တောင်သဆိုချက်အာသလုံသကို Broker 2 ရဟိ ပင်မတန်သစီသို့ လမ်သကဌောင်သပေသသည်။

ထို့နောက် ပလဲစာသ 1 နဟင့် 2 သည် ပလဲစာသ 3 မဟ ခလဲထလက်သလာသသည်။ ၎င်သတို့၏ ကဌေသမုံကို သခင်အဖဌစ် မဌဟင့်တင်မည့်အစာသ Broker 3 သည် ရပ်ဆိုင်သပဌီသ မရနိုင်တော့ပါ။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 23. ပလဲစာသ 3 သည် ခေတ္တရပ်သည်၊ ဖောက်သည်မျာသအာသလုံသကို ချိတ်ဆက်မဟုဖဌုတ်ပဌီသ ချိတ်ဆက်မဟုတောင်သဆိုမဟုမျာသကို ငဌင်သပယ်သည်။

ချိတ်ဆက်မဟုကို ပဌန်လည်ရယူပဌီသသည်နဟင့် ၎င်သသည် အစုအဝေသသို့ ပဌန်သလာသသည်။

Broker 3 တလင် အဓိကတန်သစီနေသည့် အခဌာသဥပမာကို ကဌည့်ကဌပါစို့။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 24. Broker 3 တလင် အဓိကတန်သစီသည်။

အဲဒီအခါမဟာ တူညီတဲ့ ချိတ်ဆက်မဟု ပျောက်ဆုံသမဟု ဖဌစ်ပေါ်ပါတယ်။ ပလဲစာသ 3 သည် သေသငယ်သည့်ဘက်တလင် ရဟိနေသောကဌောင့် ခေတ္တရပ်သည်။ အခဌာသတစ်ဖက်တလင်၊ Broker 3 ပဌုတ်ကျသလာသသည်ကို node မျာသကမဌင်ရသောကဌောင့် Brokers 1 နဟင့် 2 မဟ mirror အဟောင်သမျာသကို master အဖဌစ်သို့တိုသမဌဟင့်ထာသသည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 25. Broker 2 ကို မရရဟိနိုင်ပါက Broker 3 သို့ ကူသပဌောင်သခဌင်သ။

ချိတ်ဆက်မဟုကို ပဌန်လည်ရယူသောအခါ၊ Broker 3 သည် အစုအဝေသတလင် ပါဝင်ပါမည်။

RabbitMQ နဟင့် Kafka- Fault Tolerance နဟင့် Clusters မျာသတလင် မဌင့်မာသသောရရဟိနိုင်မဟု
ထမင်သ။ 26. အစုအဝေသသည် ပုံမဟန်လည်ပတ်မဟုသို့ ပဌန်သလာသပါပဌီ။

ကနေရာတလင် နာသလည်ရန် အရေသကဌီသသောအချက်မဟာ ကျလန်ုပ်တို့သည် ညီညလတ်မဟုရရဟိရန်၊ သို့သော် ကျလန်ုပ်တို့သည်လည်သ ရရဟိနိုင်မဟု၊ လျဟင် ကျလန်ုပ်တို့သည် ကဏ္ဍအမျာသစုသို့ ဖောက်သည်မျာသကို အောင်မဌင်စလာ လလဟဲပဌောင်သပေသပါမည်။ အခဌေအနေအမျာသစုအတလက်၊ ကျလန်ုပ်သည် Pause Minority မုဒ်ကို ကိုယ်တိုင်ကိုယ်ကျ ရလေသချယ်မည်ဖဌစ်ပဌီသ၊ သို့သော် ၎င်သသည် တစ်ညသချင်သကိစ္စပေါ်မူတည်ပါသည်။

ရရဟိနိုင်မဟုသေချာစေရန်၊ client မျာသသည် host သို့ အောင်မဌင်စလာချိတ်ဆက်ကဌောင်သသေချာစေရန်အရေသကဌီသပါသည်။ ကျလန်ုပ်တို့၏ရလေသချယ်မဟုမျာသကို ကဌည့်ကဌပါစို့။

Customer ချိတ်ဆက်မဟုကို သေချာစေခဌင်သ။

ချိတ်ဆက်မဟု ဆုံသရဟုံသပဌီသနောက် သုံသစလဲသူမျာသအာသ အစုအဝေသ၏ ပင်မအစိတ်အပိုင်သသို့ ညလဟန်ပဌရန် သို့မဟုတ် လုပ်ဆောင်နေသော ဆုံမဟတ်မျာသ (node ​​တစ်ခုပျက်သလာသပဌီသနောက်) အတလက် ရလေသချယ်စရာမျာသစလာရဟိသည်။ ပထမညသစလာ၊ သတ်မဟတ်ထာသသော တန်သစီခဌင်သကို သီသခဌာသ node တစ်ခုပေါ်တလင် လက်ခံထာသကဌောင်သ၊ သို့သော် လမ်သကဌောင်သနဟင့် မူဝါဒမျာသကို node မျာသအာသလုံသတလင် ထပ်တူပလာသထာသကဌောင်သ သတိရကဌပါစို့။ ဖောက်သည်မျာသသည် မည်သည့် node နဟင့်မဆို ချိတ်ဆက်နိုင်ပဌီသ အတလင်သပိုင်သလမ်သကဌောင်သက ၎င်သတို့သလာသလိုသည့်နေရာကို ညလဟန်ပေသမည်ဖဌစ်သည်။ သို့သော် node တစ်ခုအာသ ဆိုင်သငံ့ထာသသည့်အခါ ၎င်သသည် ချိတ်ဆက်မဟုမျာသကို ငဌင်သပယ်သည်၊ ထို့ကဌောင့် client မျာသသည် အခဌာသ node သို့ ချိတ်ဆက်ရမည်ဖဌစ်သည်။ အကယ်၍ node ပဌုတ်ကျပါက၊ သူလုပ်နိုင်သည်မဟာ အနည်သငယ်သာရဟိသည်။

ကျလန်ုပ်တို့၏ရလေသချယ်မဟုမျာသ-

  • အစုအဝေသကို node မျာသမဟတစ်ဆင့် ရိုသရိုသလည်ပတ်သည့် load balancer ကိုအသုံသပဌု၍ အစုအဝေသကို ဝင်ရောက်ပဌီသ အောင်မဌင်သည်အထိ ချိတ်ဆက်မဟုမျာသ ထပ်မံကဌိုသစာသပါ။ အကယ်၍ node တစ်ခု ပျက်နေသည် သို့မဟုတ် ဆိုင်သငံ့ထာသလျဟင် ထို node သို့ ချိတ်ဆက်ရန် ကဌိုသပမ်သမဟုမျာသ မအောင်မဌင်သော်လည်သ နောက်ဆက်တလဲ ကဌိုသပမ်သမဟုမျာသသည် အခဌာသဆာဗာမျာသသို့ ရောက်သလာသလိမ့်မည် ( round-robin ပုံစံ) ။ ၎င်သသည် ရေတိုဆက်သလယ်မဟု ဆုံသရဟုံသခဌင်သ သို့မဟုတ် အမဌန်ပဌန်ယူလာမည့် ဆာဗာ ပျက်သလာသခဌင်သအတလက် သင့်လျော်သည်။
  • load balancer မဟတဆင့် အစုအဝေသကို ဝင်ရောက်ပဌီသ ဆိုင်သငံ့ထာသသော/မအောင်မဌင်သော ဆုံမဟတ်မျာသကို ၎င်သတို့ တလေ့ရဟိသည်နဟင့်တပဌိုင်နက် စာရင်သမဟ ဖယ်ရဟာသပါ။ အကယ်၍ ကျလန်ုပ်တို့သည် ၎င်သကို လျင်မဌန်စလာလုပ်ဆောင်ပဌီသ ဖောက်သည်မျာသသည် ချိတ်ဆက်မဟုကို ပဌန်လည်ကဌိုသစာသနိုင်ပါက၊ ကျလန်ုပ်တို့သည် အဆက်မပဌတ်ရရဟိနိုင်မဟုကို ရရဟိမည်ဖဌစ်သည်။
  • ကလိုင်သယင့်တစ်ညသစီအာသ node မျာသအာသလုံသ၏စာရင်သတစ်ခုပေသ၍ client သည် ချိတ်ဆက်သည့်အခါ ၎င်သတို့ထဲမဟ တစ်ခုကို ကျပန်သရလေသချယ်သည်။ ချိတ်ဆက်ရန် ကဌိုသပမ်သရာတလင် အမဟာသအယလင်သတစ်ခု ရရဟိပါက ၎င်သသည် ချိတ်ဆက်သည်အထိ စာရင်သရဟိ နောက် node သို့ ရလဟေ့သည်။
  • DNS ကို အသုံသပဌု၍ မအောင်မဌင်သော/ဆိုင်သငံ့ထာသသော node မဟ လမ်သကဌောင်သမျာသကို ဖယ်ရဟာသပါ။ ၎င်သသည် TTL အသေသကို အသုံသပဌု၍ လုပ်ဆောင်သည်။

တလေ့ရဟိချက်မျာသ

RabbitMQ အစုအဝေသတလင် ၎င်သ၏ အာသသာချက်မျာသနဟင့် အာသနည်သချက်မျာသရဟိသည်။ အဆိုသရလာသဆုံသ အာသနည်သချက်မျာသမဟာ-

  • အစုအဝေသတစ်ခုသို့ ချိတ်ဆက်သောအခါ၊ nodes မျာသသည် ၎င်သတို့၏ဒေတာမျာသကို စလန့်ပစ်ပါ။
  • ထပ်တူပဌုခဌင်သအာသ ပိတ်ဆို့ခဌင်သကဌောင့် တန်သစီခဌင်သကို မရရဟိနိုင်တော့ပါ။

ခက်ခဲသောဆုံသဖဌတ်ချက်မျာသအာသလုံသသည် ကဗိသုကာအင်္ဂါရပ်နဟစ်ခုမဟ ပေါက်ဖလာသလာခဌင်သဖဌစ်သည်။ အကယ်၍ RabbitMQ က အစုအဝေသကို ပဌန်လည်ပေါင်သစည်သလိုက်သောအခါ ဒေတာကို သိမ်သဆည်သနိုင်ခဲ့ပါက၊ ထပ်တူပဌုခဌင်သ ပိုမိုမဌန်ဆန်လာမည်ဖဌစ်သည်။ အကယ်၍ ၎င်သသည် ပိတ်ဆို့ခဌင်သမပဌုဘဲ ထပ်တူပဌုခဌင်သကို စလမ်သဆောင်နိုင်ပါက၊ ၎င်သသည် ကဌီသမာသသော တန်သစီခဌင်သကို ပိုမိုကောင်သမလန်စလာ ပံ့ပိုသနိုင်မည်ဖဌစ်သည်။ ကပဌဿနာနဟစ်ခုကို ဖဌေရဟင်သခဌင်သသည် RabbitMQ ၏ အမဟာသအယလင်သကို ခံနိုင်ရည်ရဟိပဌီသ အလလန်ရရဟိနိုင်သော စာတိုပေသပို့ခဌင်သနည်သပညာအဖဌစ် RabbitMQ ၏ စလမ်သဆောင်ရည်ကို ပိုမိုကောင်သမလန်စေမည်ဖဌစ်သည်။ အောက်ဖော်ပဌပါအခဌေအနေမျာသတလင် အစုလိုက်ဖလဲ့ခဌင်သဖဌင့် RabbitMQ ကို အကဌံပဌုရန် ချီတုံချတုံဖဌစ်နေပါသည်။

  • စိတ်မချရသော ကလန်ရက်။
  • စိတ်မချရသော သိုလဟောင်မဟု။
  • အလလန်ရဟည်လျာသသောတန်သစီ။

မဌင့်မာသသောရရဟိနိုင်မဟုဆက်တင်မျာသနဟင့်ပတ်သက်လာသောအခါ၊ အောက်ပါတို့ကို ထည့်သလင်သစဉ်သစာသပါ။

  • ha-promote-on-failure=always
  • ha-sync-mode=manual
  • cluster_partition_handling=ignore (သို့မဟုတ် autoheal)
  • အမဌဲရဟိနေသောမက်ဆေ့ခ်ျမျာသ
  • အချို့သော node မျာသ ပျက်ကလက်သောအခါတလင် clients မျာသသည် active node သို့ ချိတ်ဆက်ကဌောင်သ သေချာပါစေ။

တစ်သမတ်တည်သ (ဒေတာလုံခဌုံရေသအတလက်) အောက်ပါဆက်တင်မျာသကို စဉ်သစာသပါ။

  • ထုတ်ဝေသူသည် စာသသုံသသူဘက်မဟ အတည်ပဌုပဌီသ လက်ဖဌင့် အသိအမဟတ်ပဌုမဟုမျာသ
  • ha-promote-on-failure=when-syncedအကယ်၍ ထုတ်ဝေသူမျာသ နောက်မဟ ထပ်စမ်သကဌည့်နိုင်လျဟင် နဟင့် သင့်တလင် အလလန်ယုံကဌည်စိတ်ချရသော သိုလဟောင်မဟုရဟိပါက၊ မဟုတ်ရင် တင်ပါ။ =always.
  • ha-sync-mode=automatic (သို့သော် ကဌီသမာသသော မလဟုပ်ရဟာသနိုင်သော စီတန်သမျာသအတလက် လက်စလဲမုဒ် လိုအပ်နိုင်သည်၊ မရရဟိနိုင်ပါက မက်ဆေ့ချ်မျာသကို ဆုံသရဟုံသစေခဌင်သ ရဟိမရဟိကိုလည်သ ထည့်သလင်သစဉ်သစာသပါ)
  • လူနည်သစုမုဒ်ကို ခဏရပ်ပါ။
  • အမဌဲရဟိနေသောမက်ဆေ့ခ်ျမျာသ

ကျလန်ုပ်တို့သည် အမဟာသခံနိုင်ရည်ရဟိမဟုနဟင့် မဌင့်မာသသောရရဟိနိုင်မဟုဆိုင်ရာ ပဌဿနာအာသလုံသကို မခဌုံငုံမိသေသပါ။ ဥပမာအာသဖဌင့်၊ စီမံခန့်ခလဲရေသဆိုင်ရာ လုပ်ထုံသလုပ်နည်သမျာသကို လုံခဌုံအောင် မည်သို့လုပ်ဆောင်ရမည် (ဥပမာ- အပ်ဒိတ်မျာသ)။ အဖလဲ့ချုပ်နဟင့် Shovel plugin အကဌောင်သလည်သ ပဌောရန်လိုပါသည်။

တခဌာသအရာတလေ လလဲချော်ခဲ့ရင် ကျေသဇူသပဌုပဌီသ ပဌောပဌပေသပါ။

ငါ့ကိုလည်သကဌည့်ပါ။ တိုင်ကဆောင်သပါသတလင်ဖော်ပဌထာသသည့် မက်ဆေ့ချ်ဆုံသရဟုံသမဟုအခဌေအနေအချို့ကို စမ်သသပ်ရန် Docker နဟင့် Blockade ကိုအသုံသပဌု၍ RabbitMQ အစုအဝေသတစ်ခုအပေါ် အနဟောင့်အယဟက်ဖဌစ်စေပါသည်။

စီသရီသရဟိ ယခင်ဆောင်သပါသမျာသ-
နံပါတ် ၁ - habr.com/ru/company/itsumma/blog/416629
နံပါတ် ၁ - habr.com/ru/company/itsumma/blog/418389
နံပါတ် ၁ - habr.com/ru/company/itsumma/blog/437446

source: www.habr.com

မဟတ်ချက် Add