කොන්ස්ට්රක්ෂන් ක්ෂේත්රයේ දොලොස්වෙනි දෙනෙකුගේ ස්ථානය, ධාවන කාලය, ඉන්ධන තත්ත්වය වැනි තොරතුරු තත්පර කිහිපයකින් යාවත්කාලීන කරමින් රැගෙන යාම, දත්ත ව්යුහය තුළ සංකීර්ණ ගැටළුවක් බවට පත්වේ.
අපේ ෆ්ලීට් කළමනාකරණ වේදිකාවේ මුලින්ම සින්ක්රෝනස් සම්බන්ධතා (synchronous communication) භාවිතා කළහෙයි. එහිදී යන්ත්රය සතුටින් තොරතුරු දත්ත ගබඩාවට ලියන තුරු පරිශීලකයාට ප්රතිචාරයක් ලැබෙන්නේ නැත. මේ නිසා ලිපිගොනු වගුවේ (table rows) ලොක් (lock) වීමෙන්, වාර්තා පුවරුවේ (dashboard) ලෝඩ් වේගය අඩු වීම, සහ දුරස්ථ ස්ථානයේ ජාල කාලය අවසන් වීම වැනි ගැටළු පණ ගැන්වුණි.
මෙම ගැටලුවට විසඳුමක් ලෙස, අපි event‑driven architecture වෙත මාරු කළෙමු. Azure Service Bus නමින් කියැවෙන මැසේජ් බ්රෝකර් එකක් මැදපාලන මධ්යස්ථානයක් ලෙස පාවිච්චි කර, එය තොරතුරු තදබලව (spike) සුරක්ෂිතව රඳවා තබා, පසුබැසී සේවා මගින් එය සකස් කරයි. එකතු කර ඇති CQRS (Command Query Responsibility Segregation) මගින් ලියන (write) දත්ත ගබඩාව සහ කියවීමේ (read) දත්ත ගබඩාව වෙන් කර, ලියන කාර්යය වේගවත්, කියවීමේ කාර්යය වේගවත් බවට පත් කළෙමු.
අලුත් සැලසුම මිලියන ගණනක් තෙලිමීට් යාවත්කාලීන කිරීම් සාර්ථකව පවත්වා ගන්නා අතර, නමුත් eventual consistency නමින් හඳුන්වන කාලික අසමතුලිතතාවයක් පෙන්වා දුන්නා. ලිවීම සිදු වූ වහාම කියවීමේ දත්ත ගබඩාවට යාවත්කාලීන නොවීම, තත්පර කිහිපයක් හෝ මිනිත්තු කිහිපයක් පසු පවතී. ඉංජිනේරුවරුන්ට මේ කාලය කුඩා දෙයක් වුවත්, ක්ෂේත්ර පාලකයෙක් නව කලාපයකට ජෙනරේටරයක් පවරා, තත්ක්ෂණයෙන්ම තිරය අලුත් කරද්දී පරණ තොරතුරු පෙනේ. එම නිසා පාලකයා එකම ඉල්ලීම කිහිප වතාවක් යවා, මැසේජ් කවුළුව පිරී, නකල් ලොග් ගොනු බොහොමයක් උත්පන්න වුණි. පරිශීලක විශ්වාසය අඩු වීම, පද්ධතියේ සාර්ථකත්වයට බර පෑ.
ශ්රී ලංකාවට ඇති වැදගත්කම
මෙම පළපුරුද්ද ශ්රී ලංකාවේ තාක්ෂණික සමාජයට විශාල පඬුකඩක් වේ.
- ඉගෙනුම් පරිසරය: විශ්වවිද්යාල සහ තාක්ෂණික පාඨමාලාවන්ට event‑driven, CQRS, eventual consistency වැනි නවතම සංකල්ප අධ්යයනයට වටිනා උදාහරණයක්.
- ව්යාපාරික ප්රයෝජනය: ගොඩනැගිලි, ලොජිස්ටික්ස්, සම්පත් කළමනාකරණ වැනි අංශවල දත්ත පරිමාණය වැඩි වන විට, මේ ආකෘති අනුගමනය කිරීමෙන් පද්ධති විශ්වාසය හා කාර්යක්ෂමතාවය වැඩි වේ.
- ඩෙවලපර් කුසලතා: Azure Service Bus, cloud‑native මැසේජ් බ්රෝකර්, හා CQRS යෙදවීමේ ප්රායෝගික අත්දැකීම්, ශ්රී ලංකාවේ තාක්ෂණික නිර්මාණකරුවන්ට ගෝලීය තලයේ තරගකාරීත්වයක් ලබා දේ.
අවසන් වශයෙන්, තාක්ෂණික සවිභාවය සදහා කාර්ය සාධනය ඉහළ නැංවීමට පද්ධති වෙන්කිරීම (decoupling) අත්යවශ්යයි. නමුත් එය පරිශීලක අත්දැකීමේ කාලික පරතරයක් ඇති කරනවා නම්, UI/UX මට්ටමේ “optimistic pending” ආකාරයෙන් දෘශ්යම සංඥා සැපයීම අත්යවශ්ය වේ. මේ මඟින් පද්ධතියේ ස්ථාවරතාවය හා පරිශීලක විශ්වාසය එකට රැකගත හැක.