ဤဆောင်းပါးသည် PHP ကို အသုံးပြု. ဖြန့်ဝေသောအရောင်းအ 0 ယ်ပုံစံကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။ TCC သည် "Try-Conference-Cancel" ကိုဆိုလိုသည်။ ၎င်းသည်ဖြန့်ဝေထားသောစနစ်များတွင်ငွေပေးချေမှုဆိုင်ရာရှေ့နောက်ညီညွတ်မှုကိုသေချာစေရန်ဘုံဖြေရှင်းချက်ဖြစ်သည်။ လုပ်ငန်းစဉ်တစ်ခုလုံးကိုအဆင့်သုံးဆင့်ခွဲထားပြီးကွပ်မျက်ခြင်းနှင့်ကွပ်မျက်ခြင်းကိုအတည်ပြုခြင်း,
ဖြန့်ဝေသောငွေပေးငွေယူ TCC သည်ဖြန့်ဝေထားသောစနစ်များတွင်ငွေပေးချေမှုဆိုင်ရာရှေ့နောက်ညီညွတ်မှုပြ problem နာကိုအဖြေရှာသည်။ ရိုးရာရပ်တည်ချက်တစ်ခုတည်းသောအရောင်းအ 0 ယ်များသည်အချက်အလက်များကိုအက်ဆစ်ဝိသေသလက္ခဏာများဖြင့်အချက်အလက်ကိုက်ညီမှုရှိစေရန်သေချာသည်။ TCC သည်ဤပြ problem နာကိုထိရောက်စွာဖြေရှင်းငွေပေးငွေယူ၏ကွပ်မျက်အဆင့်ကိုခွဲထုတ်ခြင်းအားဖြင့်ဖြေရှင်းနိုင်သည်။
စမ်းကြည့်နေစဉ်အတွင်းစနစ်သည်စီးပွားရေးလုပ်ငန်းများလုပ်ဆောင်မှုများပြုလုပ်ရန်နှင့်လက်ရှိအခြေအနေကိုမှတ်တမ်းတင်ရန်ကြိုးစားသည်။ ကြိုးပမ်းမှုအောင်မြင်သောအခါမှသာလာမည့်အဆင့်သည်ကွပ်မျက်မှုကိုအတည်ပြုပါ။ ဒီလိုမှမဟုတ်ရင်ပယ်ဖျက်ရေးလုပ်ငန်းကိုအစပျိုးလိမ့်မယ်။
အတည်ပြုအဆင့်ကယခင်အဆင့်ကြိုးစားမှုကိုအောင်မြင်စွာကွပ်မျက်ခံရပြီးစစ်ဆင်ရေးကိုဆက်လက်လုပ်ဆောင်ခဲ့သည်ဟုအတည်ပြုသည်။ ဤစစ်ဆင်ရေးသည် Idempotent ဖြစ်ပြီးဘေးထွက်ဆိုးကျိုးများမရှိဘဲအကြိမ်ကြိမ်အကောင်အထည်ဖော်နိုင်သည်။
Cancel Phase သည်ကြိုးစားမှုအဆင့်၏လည်ပတ်မှုကိုပြန်လည်သိမ်းဆည်းရန်အသုံးပြုသည်။ ဤစစ်ဆင်ရေးသည် IDEMPOTENT သည်နောက်ဆုံးအခြေအနေကိုမထိခိုက်ပါ။
အောက်ဖော်ပြပါသည် Php PHP ကိုဥပမာအားဖြင့်ရိုးရှင်းသောဖြန့်ဝေမှု TCC ကိုမည်သို့အကောင်အထည်ဖော်နိုင်ကြောင်းသရုပ်ပြရန် PHP ကိုသရုပ်ပြနိုင်ကြောင်း,
ပထမ ဦး စွာ Laravel ကဲ့သို့သော PHP Framework ကို အသုံးပြု. ကြိုတင်ပြင်ဆင်ထားသည့် node နှစ်ခုအတွက်ကုဒ်ကိုပြင်ဆင်ပါ။
class TransactionManager
{
public function try()
{
// ဒီအဆင့်မှာစီးပွားရေးစစ်ဆင်ရေးလုပ်ဆောင်ပါ,နှင့် status ကိုမှတ်တမ်းတင်
}
public function confirm()
{
// ဒီအဆင့်မှာအသေသတ်အတည်ပြုအတည်ပြုပါ,နှင့်ဒေတာကိုဆက်လက်
}
public function cancel()
{
// ဒီအဆင့်မှာအသေသတ်ခြင်းကိုပယ်ဖျက်ပါ,နှင့်ငွေပေးငွေယူစတင်မီပြည်နယ်သို့ပြည်နယ်ပြန်ယူပါ
}
}
class NodeAController
{
public function transfer()
{
$transactionManager = new TransactionManager();
$transactionManager->try();
}
}
class NodeBController
{
public function confirm()
{
$transactionManager = new TransactionManager();
$transactionManager->confirm();
}
public function cancel()
{
$transactionManager = new TransactionManager();
$transactionManager->cancel();
}
}
class TransactionController
{
public function handle()
{
try {
$nodeAController = new NodeAController();
$nodeAController->transfer();
$nodeBController = new NodeBController();
$nodeBController->confirm();
} catch (Exception $e) {
$nodeBController->cancel();
}
}
}
ဤဥပမာမှတစ်ဆင့်ဖြန့်ဝေထားသောငွေပေးငွေယူကို PHP ဖြင့်မည်သို့အကောင်အထည်ဖော်ရမည်ကိုကျွန်ုပ်တို့ပြသခဲ့သည်။ ကြိုးစားခြင်း, TCC Model သည်ဖြန့်ဝေထားသောစနစ်များတွင်ငွေပေးချေမှုကိုက်ညီမှုကိုထိရောက်စွာအာမခံသည်။
အမှန်တကယ်စီမံကိန်းများအနေဖြင့်၎င်းသည်ငွေပေးငွေယူလျော်ကြေးပေးခြင်းယန္တရားများကိုထည့်သွင်းခြင်းနှင့်စနစ်၏ကြံ့ခိုင်မှုနှင့်ရရှိမှုကိုတိုးတက်စေရန်အတွက်စီးပွားရေးလိုအပ်ချက်များကိုဖြည့်ဆည်းပေးနိုင်သည့်စီးပွားရေးလိုအပ်ချက်များကိုဖြည့်ဆည်းပေးနိုင်သည်။
ဤဆောင်းပါးသည်စာဖတ်သူများအားပိုမိုကောင်းမွန်သောငွေသွင်းငွေလွှဲမှု TCC မော်ဒယ်လ်ကိုပိုမိုနားလည်သဘောပေါက်ခြင်းနှင့်လက်တွေ့ကျင့်သုံးခြင်းနှင့်အလွန်ယုံကြည်စိတ်ချရသောဖြန့်ဖြူးသော 0 န်ဆောင်မှုဗိသုကာပညာကိုနားလည်သဘောပေါက်ရန်ဤဆောင်းပါးသည်ဤဆောင်းပါးသည်ကူညီနိုင်လိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။