ପ୍ରତିକ୍ରିୟା ଅଦୃଶ୍ୟ ହେଲେ ଷ୍ଟ୍ରାଇପ୍ ଆପଣଙ୍କ ଅନୁରୋଧକୁ ମନେରଖେ
ସର୍ଭର ଅପରେସନ୍ ସମାପ୍ତ କରିବା ପରେ ଏକ ଟାଇମ୍ଆଉଟ୍ ଏକ ଚେକ୍ଆଉଟ୍କୁ ଅନିଶ୍ଚିତ କରିପାରେ।
ସର୍ଭର ଅପରେସନ୍ ସମାପ୍ତ କରିବା ପରେ ଏକ ଟାଇମ୍ଆଉଟ୍ ଏକ ଚେକ୍ଆଉଟ୍କୁ ଅନିଶ୍ଚିତ କରିପାରେ। ଏହି ଅଣ୍ଡର୍ ଦ ହୁଡ୍ ଏକ୍ସପ୍ଲାନର୍ ଷ୍ଟ୍ରାଇପ୍ API v1 ର ଡକ୍ୟୁମେଣ୍ଟେଡ୍ ଇଡେମ୍ପୋଟେନ୍ସି ଚୁକ୍ତିକୁ ବ୍ୟବହାର କରି ସ୍ଥିର ଅପରେସନ୍ କି', ସେଭ୍ କରାଯାଇଥିବା-ପ୍ରତିକ୍ରିୟା ରିପ୍ଲେ, ପାରାମିଟର ଏବଂ କନ୍କରେନ୍ସି ସୀମା, ରିଟେନସନ୍ ହରାଇଜନ୍ ଏବଂ ଫଳାଫଳ ମେଳଣ ଦେଖାଏ।
ଲିଖିତ ସଂସ୍କରଣ ପଢ଼ନ୍ତୁ (English) ↗
ଏହି ଭିଡିଓରେ କ'ଣ ଅଛି
- ଇଡେମ୍ପୋଟେନ୍ସି ଏକ ଅପରେସନ୍କୁ ପୁନରାବୃତ୍ତି କରିବାର ଉଦ୍ଦିଷ୍ଟ ପ୍ରଭାବ ସହିତ ସମ୍ବନ୍ଧିତ। ଷ୍ଟ୍ରାଇପ୍ API v1 ଏକ ଡକ୍ୟୁମେଣ୍ଟେଡ୍ ସେଭ୍ କରାଯାଇଥିବା-ପ୍ରତିକ୍ରିୟା ରିପ୍ଲେ ଚୁକ୍ତି ଯୋଡିଥାଏ।
- ସମାନ ଲଜିକାଲ୍ କାର୍ଯ୍ୟର ପୁନଃପ୍ରଚେଷ୍ଟା ସମାନ କି' ଏବଂ ପାରାମିଟର ବ୍ୟବହାର କରେ। ଅପରେସନ୍ କି'କୁ ଅଲଗା SDK କଲ୍ କିମ୍ବା ଆପ୍ଲିକେସନ୍ ପୁନଃଆରମ୍ଭରେ ସ୍ଥାୟୀ କରନ୍ତୁ; ଏକ ପ୍ରକୃତରେ ନୂତନ କାର୍ଯ୍ୟ ପାଇଁ ଏହାର ନିଜସ୍ୱ କି' ଆବଶ୍ୟକ।
- ଏଣ୍ଡପଏଣ୍ଟ ଏକଜିକ୍ୟୁସନ୍ ଆରମ୍ଭ ହେବା ପରେ, ଷ୍ଟ୍ରାଇପ୍ API v1 ପ୍ରଥମ ଅନୁରୋଧର ସ୍ଥିତି ଏବଂ ବଡି, 500 ତ୍ରୁଟି ସହିତ, ସେଭ୍ କରେ ଏବଂ ପୁନଃପ୍ରଚେଷ୍ଟାରେ ସେହି ସେଭ୍ ହୋଇଥିବା ପ୍ରତିକ୍ରିୟା ଫେରାଇ ଦିଏ।
- ସମାନ କି' ସହିତ ପରିବର୍ତ୍ତିତ ପାରାମିଟର ଏକ ମେଳ ଖାଉ ନଥିବା ଉତ୍ପନ୍ନ କରେ। ଭାଲିଡେସନ୍ ବିଫଳତା ଏବଂ ସମକାଳୀନ ଏକଜିକ୍ୟୁସନ୍ ସଂଘର୍ଷ ସେହି ପ୍ରଚେଷ୍ଟା ପାଇଁ କୌଣସି ଇଡେମ୍ପୋଟେଣ୍ଟ୍ ଫଳାଫଳ ସେଭ୍ କରନ୍ତି ନାହିଁ ଏବଂ ପୁନଃପ୍ରଚେଷ୍ଟା କରାଯାଇପାରେ।
- ଷ୍ଟ୍ରାଇପ୍ API v1 କି'ଗୁଡ଼ିକୁ ଅତିକମ୍ରେ 24 ଘଣ୍ଟା ପର୍ଯ୍ୟନ୍ତ ବଜାୟ ରଖେ ଏବଂ ପରେ ସେଗୁଡ଼ିକୁ ଛାଣ୍ଟିପାରେ। ପ୍ରଥମ 24 ଘଣ୍ଟା ପାଇଁ ଅସମାହିତ ନେଟୱର୍କ ପୁନଃପ୍ରଚେଷ୍ଟାକୁ ସୀମିତ କରନ୍ତୁ, ତାପରେ ଅପରେସନ୍କୁ ପୁନରାବୃତ୍ତି କରିବା ପୂର୍ବରୁ ବନ୍ଦ କରନ୍ତୁ ଏବଂ ମେଳ କରନ୍ତୁ।
- ସଂଯୋଗ ପୁନରୁଦ୍ଧାର ହେବା ପରେ ଏକ କ୍ୟାଚ୍ ହୋଇଥିବା 500 ପୁନଃ ରିପ୍ଲେ କରିପାରେ। ମୂଳ ଅପରେସନ୍ ପାର୍ଶ୍ୱ ପ୍ରଭାବ ଦେଇପାରେ; ଏହାର ଫଳାଫଳ ସ୍ଥାପନ କରିବା ପାଇଁ ସମ୍ବନ୍ଧିତ ଅବଜେକ୍ଟ, ଡ୍ୟାସବୋର୍ଡ ଅନୁରୋଧ ଏବଂ ୱେବ୍ହୁକ୍ ବ୍ୟବହାର କରନ୍ତୁ।
- API v2 ଭିନ୍ନ ରିପ୍ଲେ ସେମାଣ୍ଟିକ୍ସ ବ୍ୟବହାର କରେ। ଏକ କି' ଇମେଲ୍, ଇନଭେଣ୍ଟୋରୀ ଏବଂ ପ୍ରତ୍ୟେକ ସ୍ଥାନୀୟ ଡାଟାବେସ୍ ଅପରେସନ୍ ପାଇଁ ସର୍ବଭାରତୀୟ ଭାବରେ ଠିକ୍ ଥରେ ବିତରଣ ସ୍ଥାପନ କରେ ନାହିଁ।
ଅନୁବାଦିତ ଟ୍ରାନ୍ସକ୍ରିପ୍ଟ
ମୂଳ ଇଂରାଜୀ ବର୍ଣ୍ଣନାରୁ ଅନୁବାଦିତ। ଉପଲବ୍ଧ ଅଡିଓ ଏବଂ କ୍ୟାପ୍ସନ୍ଗୁଡ଼ିକ YouTube ଦ୍ୱାରା ନିୟନ୍ତ୍ରିତ।
ଏକ ଟାଇମ୍ଆଉଟ୍ ଆପଣଙ୍କ ପେମେଣ୍ଟ୍ ବାତିଲ୍ କରିଛି କି?
0:00 ଆପଣ ଭାବୁଛନ୍ତି ଏକ ଟାଇମ୍ଆଉଟ୍ ମାନେ ଆପଣଙ୍କ ପେମେଣ୍ଟ୍ ବିଫଳ ହୋଇଛି। ସର୍ଭର ଉତ୍ତର ହଜିଯିବା ବେଳେ ସମାପ୍ତ କରିପାରେ, ଆପଣଙ୍କ ଚେକ୍ଆଉଟ୍କୁ ଆଦୌ କିଛି ନ ଦର୍ଶାଇ ଆତ୍ମବିଶ୍ୱାସର ସହିତ ପ୍ରଦର୍ଶିତ କରିଥାଏ। କାହିଁକି ଏକ ପୁନଃପ୍ରଚେଷ୍ଟା ପୁଣି ଥରେ ଚାର୍ଜ କରିପାରେ? ଷ୍ଟ୍ରାଇପ୍ କିପରି ଏକ ପ୍ରଚେଷ୍ଟାକୁ ମନେରଖେ? ଆପଣ କେବେ ପୁନଃପ୍ରଚେଷ୍ଟା କରିବା ବନ୍ଦ କରିବା ଉଚିତ୍? ଏବଂ ଗୋଟିଏ ଖରାପ ବିବରଣୀ ମନରେ ରଖନ୍ତୁ। ମନେ ରଖାଯାଇଥିବା ତ୍ରୁଟି ନେଟୱର୍କ ସମସ୍ୟାଠାରୁ ଅଧିକ ସମୟ ରହିପାରେ।
0:17 ଆମେ ସେଥିପ୍ରତି ଫେରିଆସିବା। ଏହା ହେଉଛି ଦି ଡେଲି ଡିଫ୍, ଅଣ୍ଡର୍ ଦ ହୁଡ୍।
ଏକ ଇଡେମ୍ପୋଟେନ୍ସି କି' କ'ଣ ଚିହ୍ନଟ କରେ?
0:21 ଇଡେମ୍ପୋଟେନ୍ସିର ଅର୍ଥ ହେଉଛି ଏକ ଅପରେସନ୍କୁ ପୁନରାବୃତ୍ତି କରିବା ସମାନ ଉଦ୍ଦିଷ୍ଟ ପ୍ରଭାବ ପକାଇଥାଏ ଥରେ କରିବା ପରି। ଏକ ଇଡେମ୍ପୋଟେନ୍ସି କି' ଗୋଟିଏ ଲଜିକାଲ୍ କାର୍ଯ୍ୟକୁ ଲେବଲ୍ କରେ। ଷ୍ଟ୍ରାଇପ୍ ର API ସଂସ୍କରଣ ଏକ ପୁନଃପ୍ରଚେଷ୍ଟାରେ ସେହି ଲେବଲ୍କୁ ଚିହ୍ନଟ କରେ ଏବଂ ଏକ ସେଭ୍ କରାଯାଇଥିବା ପ୍ରତିକ୍ରିୟା ପୁନଃ ରିପ୍ଲେ କରେ। ଏକ କଫି କିଣିବା ଚିତ୍ର କରନ୍ତୁ। ଷ୍ଟ୍ରାଇପ୍ ଆପଣଙ୍କ ପେମେଣ୍ଟ୍ ଅନୁରୋଧକୁ ସମାପ୍ତ କରେ, ଏବଂ ପ୍ରତିକ୍ରିୟା ଘରକୁ ଫେରିବା ବାଟରେ ହଜିଯାଏ, ଗ୍ରାହକ ଏକ ସ୍ପିନର୍ ଦେଖନ୍ତି। ସେମାନଙ୍କ ବ୍ୟାଙ୍କରେ ଅଧିକ ରୋମାଞ୍ଚକର ବ୍ୟାଖ୍ୟା ଥାଇପାରେ। ଏକ ଅସୁରକ୍ଷିତ କ୍ରିଏଟ୍ ଅନୁରୋଧ ପାର୍ଶ୍ୱ ପ୍ରଭାବକୁ ପୁନରାବୃତ୍ତି କରିପାରେ।
କିପରି ସମାନ କି' ଏକ ପୁନଃପ୍ରଚେଷ୍ଟାକୁ ନିରାପଦ କରେ?
0:45 ପ୍ରଥମ ପ୍ରଚେଷ୍ଟା ପୂର୍ବରୁ ଏକ ଅନନ୍ୟ କି' ସଂଲଗ୍ନ କରନ୍ତୁ ଏବଂ ପୁନଃପ୍ରଚେଷ୍ଟା ପାଇଁ ଏହାକୁ ରଖନ୍ତୁ। ଯଦି ଆପଣଙ୍କ ଆପ୍ଲିକେସନ୍ ପୁନଃଆରମ୍ଭ ହୁଏ, ତେବେ ଆପଣଙ୍କ ରେକର୍ଡ଼ରେ ଅପରେସନ୍ ସହିତ ସେହି କି'କୁ ସୁରକ୍ଷିତ ରଖନ୍ତୁ। ଷ୍ଟ୍ରାଇପ୍ ର ସଂସ୍କରଣ ଏକ API ପାଇଁ, ଏଣ୍ଡପଏଣ୍ଟ ଏକଜିକ୍ୟୁସନ୍ ଆରମ୍ଭ ହେବା ପରେ, ପ୍ରଥମ ଅନୁରୋଧର ସ୍ଥିତି ଏବଂ ବଡି ସେଭ୍ କରାଯାଏ। ସମାନ କି' ଏବଂ ପାରାମିଟର ପୁଣି ପଠାନ୍ତୁ, ଏବଂ ଷ୍ଟ୍ରାଇପ୍ ସେଭ୍ କରାଯାଇଥିବା ପ୍ରତିକ୍ରିୟା ଫେରାଇ ଦିଏ। ଏହାର ରସିଦ ପୁଣି ଯାତ୍ରା କରୁଥିବା ବେଳେ କଫି ସେହିଠାରେ ରୁହେ।
ଷ୍ଟ୍ରାଇପ୍ ଠିକ୍ କ'ଣ ସେଭ୍ କରେ?
1:07 ଏଠାରେ ଷ୍ଟ୍ରାଇପ୍ ର ପ୍ରକୃତ ଶବ୍ଦ ଅଛି। ସମାନ କି' ସହିତ ପୁନଃପ୍ରଚେଷ୍ଟା ସେଭ୍ କରାଯାଇଥିବା ପ୍ରତିକ୍ରିୟା ଫେରାଇ ଦିଏ, ପାଞ୍ଚ ଶହ ତ୍ରୁଟି ସହିତ। ଡକ୍ୟୁମେଣ୍ଟେସନ୍ ଆପଣଙ୍କ ଆଶାବାଦୀ ନାମିତ ରିଟ୍ରାଇ ହେଲପର୍ ଠାରୁ ଅଧିକ କାର୍ଯ୍ୟ କରେ। ଗ୍ରାହକ ପୁଣି ଥରେ ଟ୍ୟାପ୍ କରନ୍ତି। ଆପଣଙ୍କ ଆପ୍ ନିଷ୍ପତ୍ତି ନିଏ ଯେ ତାହା ପେଣ୍ଡିଂ କ୍ରୟକୁ ପୁନଃଆରମ୍ଭ କରେ କିମ୍ବା ଅନ୍ୟ ଏକ କ୍ରୟ ଆରମ୍ଭ କରେ। ଏକ ପ୍ରକୃତରେ ନୂତନ କଫି ପାଇଁ ଏକ ନୂଆ କି' ମିଳେ। ପ୍ରତ୍ୟେକ ନେଟୱର୍କ ପୁନଃପ୍ରଚେଷ୍ଟା ପାଇଁ ଏକ ନୂତନ କି' ସୁରକ୍ଷାକୁ ନଷ୍ଟ କରେ।
1:27 ସମାନ କି' ସହିତ ଭିନ୍ନ ପାରାମିଟର ଏକ ମେଳ ଖାଉ ନଥିବା ଉତ୍ପନ୍ନ କରେ।
ଅନୁରୋଧ ପରିବର୍ତ୍ତନ ହେଲେ କ'ଣ ହୁଏ?
1:30 ଯଦି ପାରାମିଟର ଭାଲିଡେସନ୍ରେ ବିଫଳ ହୁଏ, କିମ୍ବା ସେହି କି' ସହିତ ଅନ୍ୟ ଏକ ଅନୁରୋଧ ଏପର୍ଯ୍ୟନ୍ତ ଏକଜିକ୍ୟୁଟ୍ ହେଉଛି, ଷ୍ଟ୍ରାଇପ୍ ସେହି ପ୍ରଚେଷ୍ଟା ପାଇଁ କୌଣସି ଇଡେମ୍ପୋଟେଣ୍ଟ୍ ଫଳାଫଳ ସେଭ୍ କରେ ନାହିଁ। ସେହି ଅନୁରୋଧଗୁଡ଼ିକୁ ପୁନଃପ୍ରଚେଷ୍ଟା କରାଯାଇପାରେ। ଏକ ରେସିଂ ଅନୁରୋଧ ଏକ ସଂଘର୍ଷ ପାଏ। ଏଗୁଡ଼ିକ ସଂସ୍କରଣ ଏକ ନିୟମ। ସଂସ୍କରଣ ଦୁଇ ଭିନ୍ନ ଭାବରେ ଆଚରଣ କରେ। ଏକ ହେଡର୍ ଆପଣଙ୍କ ସିଷ୍ଟମରେ ଠିକ୍ ଥରେ ବିତରଣ ପ୍ରତିଜ୍ଞା କରିପାରିବ ନାହିଁ। ଇମେଲ୍, ଇନଭେଣ୍ଟୋରୀ ଏବଂ ଆପଣଙ୍କ ଡାଟାବେସ୍ ପ୍ରତ୍ୟେକ ବିଫଳତା ପରିଚାଳନା ଆବଶ୍ୟକ କରନ୍ତି।
1:52 କି' ଏହାର ଡକ୍ୟୁମେଣ୍ଟେଡ୍ ସ୍କୋପ୍ ମଧ୍ୟରେ ଅପରେସନ୍କୁ ସୁରକ୍ଷା ଦିଏ। ଷ୍ଟ୍ରାଇପ୍ ସଂସ୍କରଣ ଏକ କି'ଗୁଡ଼ିକୁ ଅତିକମ୍ରେ ଚବିଶ ଘଣ୍ଟା ପର୍ଯ୍ୟନ୍ତ ବଜାୟ ରଖେ ଏବଂ ତା'ପରେ
କେତେ ସମୟ ପର୍ଯ୍ୟନ୍ତ ମନେ ରଖାଯାଇଥିବା ଫଳାଫଳ ପୁନଃପ୍ରଚେଷ୍ଟା କରିବା ନିରାପଦ?
1:59 ସେଗୁଡ଼ିକୁ ଛାଣ୍ଟିପାରେ। ଏକ ଛାଣ୍ଟିଥିବା କି' ଏକ ନୂତନ ଅନୁରୋଧ ଏକଜିକ୍ୟୁଟ୍ କରିପାରେ। ଅସମାହିତ ପୁନଃପ୍ରଚେଷ୍ଟାଗୁଡ଼ିକୁ ପ୍ରଥମ ଦିନ ଭିତରେ ରଖନ୍ତୁ। ତା' ବାହାରେ, ବନ୍ଦ କରନ୍ତୁ ଏବଂ ମୂଳ ଫଳାଫଳକୁ ମେଳ କରନ୍ତୁ। ସର୍ଭରକୁ ଶ୍ୱାସ ନେବା ପାଇଁ ଏକ୍ସପୋନେନ୍ସିଆଲ୍ ବ୍ୟାକଅଫ୍ ଏବଂ ଜିଟର୍ ବ୍ୟବହାର କରନ୍ତୁ। ନଚେତ୍ ପୁନଃପ୍ରଚେଷ୍ଟାଗୁଡ଼ିକ ଏକ ଜଳୁଥିବା କଫି ଦୋକାନ ବାହାରେ ଏକ ଧାଡ଼ି ସୃଷ୍ଟି କରନ୍ତି। ଷ୍ଟ୍ରାଇପ୍ ର ଲାଇବ୍ରେରୀଗୁଡ଼ିକ ପୁନଃପ୍ରଚେଷ୍ଟାକୁ ପରିଚାଳନା କରନ୍ତି, କିନ୍ତୁ ଆପଣଙ୍କ ଲାଇବ୍ରେରୀର ଡିଫଲ୍ଟଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରନ୍ତୁ। ସେହି ଷ୍ଟିକି ତ୍ରୁଟି ହେଉଛି କ୍ୟାଚ୍।
ମନେ ରଖାଯାଇଥିବା ତ୍ରୁଟି କାହିଁକି ବାରମ୍ବାର ଫେରିଆସିପାରେ?
2:20 ସଂଯୋଗ ପୁନରୁଦ୍ଧାର ହେବା ପରେ ଏକ କ୍ୟାଚ୍ ହୋଇଥିବା ପାଞ୍ଚ ଶହ ପ୍ରତିକ୍ରିୟା ପୁନଃ ରିପ୍ଲେ କରିଥାଏ। ମୂଳ ଅପରେସନ୍ ପାର୍ଶ୍ୱ ପ୍ରଭାବ ସୃଷ୍ଟି କରିଥାଇପାରେ। ଅବଜେକ୍ଟ, ଡ୍ୟାସବୋର୍ଡ ଏବଂ ୱେବ୍ହୁକ୍ ବ୍ୟବହାର କରି ଏହାର ଫଳାଫଳକୁ ସମାଧାନ କରନ୍ତୁ। ଏକ ନୂତନ କି' କାର୍ଯ୍ୟକୁ ପୁନରାବୃତ୍ତି କରିପାରେ। ଯଦି ଆପଣ ମୋତେ ଏହା ଶୁଣିବା ଅପେକ୍ଷା ପଢ଼ିବାକୁ ପସନ୍ଦ କରନ୍ତି, ତେବେ ଡିଫ୍ ପ୍ରତିଦିନ ସକାଳେ ଆପଣଙ୍କ ଇନବକ୍ସରେ ଆସେ, daily diff dot dev ରେ ମାଗଣାରେ, ଲିଙ୍କ୍ ତଳେ ଅଛି।
ମୁଁ ଏହି ଚୁକ୍ତି ସହିତ ଏକ ରିଟ୍ରାଇ ବଟନ୍ ପଠାଇଥାନ୍ତି କି?
2:39 ଭର୍ଡିକ୍ଟ, ଅଣ୍ଡର୍ ଦ ହୁଡ୍। SHIP IT। ମୁଁ ସ୍ଥିର କି'ଗୁଡ଼ିକୁ ବାଉଣ୍ଡେଡ୍ ରିଟ୍ରାଇ ଏବଂ ମେଳଣ ସହିତ ପଠାଇବି, ଯାହାଫଳରେ ଗ୍ରାହକମାନେ ଆପଣଙ୍କ ଡିଷ୍ଟ୍ରିବ୍ୟୁଟେଡ୍ ସିଷ୍ଟମ୍ ଶିକ୍ଷା ପାଣ୍ଠି ନ ଦେଇ କଫି ପାଇପାରିବେ। ଏବଂ ତାହା ଆଜି ପାଇଁ ଡିଫ୍। ମୁଁ Axrisi ରୁ ନିକୋ। ଦାୟିତ୍ୱର ସହିତ ମିଶ୍ରଣ କରନ୍ତୁ।
ଉତ୍ସଗୁଡ଼ିକ
- Idempotent requestsStripe Docs
- Designing robust and predictable APIs with idempotencyStripe Engineering — Brandur Leach
- Advanced error handlingStripe Docs
- HTTP Semantics — RFC 9110 §9.2.2 Idempotent MethodsIETF / RFC Editor



