ସଫ୍ଟୱେର୍ ପ୍ରୋଗ୍ରାମିଂରେ ଡୁପ୍ଲିକେଟ୍ ମେସେଜ୍ ସମସ୍ୟା: ଇନବକ୍ସ ପ୍ୟାଟର୍ନ କ’ଣ ବାସ୍ତବରେ ସର୍ବୋତ୍ତମ ସମାଧାନ?

ସଫ୍ଟୱେର୍ ପ୍ରୋଗ୍ରାମିଂରେ ଡୁପ୍ଲିକେଟ୍ ମେସେଜ୍ ସମସ୍ୟା: ଇନବକ୍ସ ପ୍ୟାଟର୍ନ କ’ଣ ବାସ୍ତବରେ ସର୍ବୋତ୍ତମ ସମାଧାନ? · Avonetics
ଆଜିକାଲିର ଆଧୁନିକ ସଫ୍ଟୱେର୍ ଆର୍କିଟେକ୍ଚରରେ ଇଭେଣ୍ଟ-ଡ୍ରିଭେନ୍ ସିଷ୍ଟମ୍ର ବ୍ୟବହାର ବହୁଳ ଭାବରେ ବୃଦ୍ଧି ପାଇଛି। ମାଇକ୍ରୋସେଭାଗୁଡ଼ିକ ମଧ୍ୟରେ ଡାଟା ଆଦାନପ୍ରଦାନ ପାଇଁ ମେସେଜ୍ କ୍ୟୁ ବ୍ୟବହାର କରାଯାଉଛି। କିନ୍ତୁ ଏହା ସହିତ ଆସୁଛି ଏକ ବଡ଼ ଚ୍ୟାଲେଞ୍ଜ, ଯାହା ହେଉଛି ଡୁପ୍ଲିକେଟ୍ ମେସେଜ୍ ପ୍ରୋସେସିଂ।
ଯେତେବେଳେ ଗୋଟିଏ ନେଟୱର୍କରେ ଆଟ୍-ଲିଷ୍ଟ-ୱାନ୍ସ ଡେଲିଭରୀ ବ୍ୟବହାର କରାଯାଏ, ସେତେବେଳେ ସିଷ୍ଟମ୍ ମେସେଜ୍ଟିକୁ ଅତି କମରେ ଥରେ ପଠାଇବାକୁ ଚେଷ୍ଟା କରେ। କିନ୍ତୁ ସର୍ଭର୍ ବିଳମ୍ବ କିମ୍ବା ରିଟ୍ରାଇ ନୀତି ଯୋଗୁଁ ଗୋଟିଏ ମେସେଜ୍ ଏକାଧିକ ଥର ପୋଷ୍ଟ ହୋଇଯାଏ। ଏହାର ଫଳସ୍ୱରୂପ ଗ୍ରାହକଙ୍କ ଆକାଉଣ୍ଟରୁ ଦୁଇଥର ଟଙ୍କା କଟିଯିବା କିମ୍ବା ଗୋଦାମରୁ ଗୋଟିଏ ଅର୍ଡର ବଦଳରେ ଦୁଇଟି ସାମଗ୍ରୀ ପଠାଯିବା ଭଳି ଗମ୍ଭୀର ସମସ୍ୟା ଦେଖାଦିଏ।
Read nextସାବଧାନ୍! ଆପଣଙ୍କ ଆଖି ଆଗରେ ଥିବା ଚଷମା ପଢ଼ୁଛି ଆପଣଙ୍କ ମନ, ସ୍ମାର୍ଟଫୋନ୍ ହେବାକୁ ଯାଉଛି ବେକାର?
ଏହି ସମସ୍ୟାର ସମାଧାନ ପାଇଁ ଡେଭେଲପରମାନେ 'ଇନବକ୍ସ ପ୍ୟାଟର୍ନ' (Inbox Pattern) ର ବ୍ୟବହାର କରୁଛନ୍ତି। ଏହି ପ୍ୟାଟର୍ନ ମାଧ୍ୟମରେ ପ୍ରୋସେସ୍ ହୋଇଥିବା ମେସେଜ୍ଗୁଡ଼ିକର ଆଇଡିକୁ ଟ୍ରାକ୍ କରାଯାଏ ଏବଂ ନୂଆ ମେସେଜ୍ ଆସିଲେ ପ୍ରଥମେ ଡାଟାବେସ୍ରେ ଯାଞ୍ଚ କରାଯାଏ। ଯଦି ମେସେଜ୍ଟି ପୂର୍ବରୁ ପ୍ରୋସେସ୍ ହୋଇସାରିଥାଏ, ତେବେ ସିଷ୍ଟମ୍ ତାହାକୁ ଗ୍ରହଣ କରେନାହିଁ।
ତେବେ ଏହାକୁ କାର୍ଯ୍ୟକାରୀ କରିବା ପାଇଁ ଅନେକ ଡେଭେଲପର MassTransit ପାଇପଲାଇନ୍ ଫିଲ୍ଟର୍ ବ୍ୟବହାର କରୁଛନ୍ତି, ଯାହା ଦ୍ୱାରା ମୁଖ୍ୟ କୋଡ୍ରେ କୌଣସି ପରିବର୍ତ୍ତନ ନକରି ଆଇଡେମ୍ପୋଟେନ୍ସି ହାସଲ କରାଯାଇପାରିବ।
କିନ୍ତୁ ସମସ୍ତ ଇଞ୍ଜିନିୟର ଏହି ମତ ସହ ସହମତ ନୁହଁନ୍ତି। ଜଣେ ବରିଷ୍ଠ ସଫ୍ଟୱେର୍ ଇଞ୍ଜିନିୟରଙ୍କ କହିବା ଅନୁଯାୟୀ, ଇନବକ୍ସ ପ୍ୟାଟର୍ନ ବୃଥାରେ ସିଷ୍ଟମ୍ରେ ଅତିରିକ୍ତ ଜଟିଳତା ସୃଷ୍ଟି କରେ। ତାଙ୍କ ମତରେ ଡାଟାବେସ୍ରେ କେବଳ ୟୁନିକ୍ କନ୍ଷ୍ଟ୍ରେଣ୍ଟ୍ ବ୍ୟବହାର କରିବା ସବୁଠାରୁ ସରଳ ଏବଂ ପ୍ରଭାବଶାଳୀ ଉପାୟ।
ଅନ୍ୟପକ୍ଷରେ ଆଉ ଜଣେ ଆର୍କିଟେକ୍ଟ ଦାବି କରିଛନ୍ତି ଯେ ଜଟିଳ ବ୍ୟବସାୟିକ ନିୟମ ଥିବା ସିଷ୍ଟମ୍ରେ କେବଳ ଡାଟାବେସ୍ କନ୍ଷ୍ଟ୍ରେଣ୍ଟ୍ସ ଯଥେଷ୍ଟ ନୁହେଁ। ସେଠାରେ ଇନବକ୍ସ ପ୍ୟାଟର୍ନ ହିଁ ସଠିକ୍ ଡାଟା ନିର୍ଭରଯୋଗ୍ୟତା ପ୍ରଦାନ କରିଥାଏ।
ଆପଣଙ୍କ ସିଷ୍ଟମ୍ ପାଇଁ କେଉଁ ଉପାୟଟି ଶ୍ରେଷ୍ଠ? ଏହି ବିଷୟରେ ଅଧିକ ଗଭୀର ଆଲୋଚନା ଶୁଣିବା ପାଇଁ ଆମର 'ଟେକ୍ ଟକ୍' ପୋଡକାଷ୍ଟର ନୂଆ ଏପିସୋଡ୍ ନିଶ୍ଚୟ ଶୁଣନ୍ତୁ।