සඳුදා උදෑසන 7ට, බොහෝ ගොඩනැගිලි ව්යාපාරවල ක්රියාකාරී කම්කරුවන් තම මොබයිල් දුරකථන වලින් උපකරණ ආරක්ෂක පරීක්ෂණ සිදු කරයි. ඒ කාලයේ පද්ධතියට අධික ලේඛන ඇතුළත් කිරීමේ පෝරමයක් එළඹීම නිසා, අපේ පරණ ආකෘතියේ දත්ත ගබඩාව පූර්ණයෙන්ම අඩංගු වී, පසුබැසීමේ වැඩ සිදු වන තෙක් සියලුම ක්රියාකාරකම් නතර වුණා.
මෙම ගැටළුවට විසඳුමක් සොයා ගැනීමට අපි Command Query Responsibility Segregation (CQRS) යන සැලැස්ම භාවිතා කළෙමු. සරල වචනයෙන් කියනවානම්, දත්ත ලියන (write) මාර්ගය සහ දත්ත කියවන (read) මාර්ගය වෙන වෙනම සේවා දෙකක් ලෙස වෙන් කරන්නේය. මෙයින් එකම දත්ත ගබඩාව දෙකම භාර නොගනිමින්, ලියන කාර්යයන් ඉතා වේගයෙන් සිදු කර, කියවීමේ විශ්ලේෂණය වෙනම පද්ධතියක සිදු කරයි.
අපේ නව සැලැස්මට අනුව, පරිශීලකයා ආරක්ෂක පරීක්ෂණයක් ඉදිරිපත් කළ විට, එය intake service නමින් කෙටි කාලීන සේවාවකට යවයි. මේ සේවාව පමණක් පෝරමයේ තොරතුරු සත්යාපනය කර, ඉක්මනින් ප්රාථමික දත්ත ගබඩාවට (primary DB) සුරක්ෂිත කරයි. එමෙන්ම, Azure Service Bus හරහා සිදුවූ සිදුවීමක් (event) ප්රකාශ කරයි. පසුබැසීමේ reporting service මේ සිදුවීම් ඇසුරුම් කර, නව වාර්තා ගණනය කර, තිරගත කිරීමේ වේගය සඳහා විශේෂිත දෙවන දත්ත ගබඩාව (secondary DB) තුළ සුරකින්නාය.
මෙම වෙන්වීම නිසා, ලියන සේවාව ඉතා වේගවත් හා විශ්වාසනීයව ක්රියා කරයි; වාර්තා සේවාව මන්දගාමී වුවත්, මුලික සේවාව තවත් බාධාවක් නොවෙයි. කෙසේ වෙතත්, eventual consistency නම් වූ තාවකාලික අසමත්තාවයක් පෙනී යයි. පරිශීලකයා පරීක්ෂණය ඉදිරිපත් කළ පසු තිරය නැවුම් කරද්දී, තවත් තත්පර 3ක් තුළ නව තොරතුරු පෙන්වනු නොලැබෙයි.
ඒ තත්පර තුළ, කළමනාකරු පද්ධතිය නතර වුණා කියා සැක කර, බොත්තම නැවත ක්ලික් කරයි. එම නිසා, එකම පණිවිඩය බහු වරක් Service Bus එකට යවා, අනිවාර්ය නොවන අනතුරු ඇඟවීම් උත්පාදනය විය. අපි ඉගෙන ගත්තා වන්නේ, අලගු වියුක්ත පද්ධතියක පරිශීලක අත්දැකීම පිළිබඳව නිශ්චිත දර්ශනයක් ලබා දීම අත්යවශ්ය බවයි. එබැවින්, මොබයිල් යෙදුමේ තිරයේ තත්කාලික තහවුරු කිරීමක් (local confirmation) සහ පසුබැසීමේ සමමුහුර්තය (synchronizing) පෙන්වීමට UI එක අලුත් කළෙමු.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ ගොඩනැගිලි, ගුවන් තොටුපළ, ලොජිස්ටික්ස් වැනි උච්ච-ඉල්ලුම් ක්ෂේත්ර වල මෙවැනි පද්ධති අවශ්ය වේ. CQRS භාවිතා කරමින්, දේශීය සංවර්ධකයින්ට ඉතා ඉහල පරිමාණයේ දත්ත ලියන/කියවන කාර්යයන් එකවර කළ නොහැකි තත්ත්වයන්ට විසඳුම් සැලසිය හැක. Azure Service Bus වැනි cloud සේවා භාවිතා කිරීමෙන්, තැනිතලාවේ පදනමකින් තොරව, ලෝක මට්ටමේ විශ්වාසනීය පද්ධති නිර්මාණය කළ හැක. එමඟින්, ශ්රී ලංකාවේ තාක්ෂණික සමාගම්වල සේවා ගුණාත්මකභාවය වැඩිවීම, දත්ත ආරක්ෂාව ශක්තිමත් වීම, සහ ව්යාපාරික කාලසටහන් වල අඩු පාලනයක් ලබා ගැනීමේ හැකියාව ලැබේ.
ඉදිරියට, තාක්ෂණික පාඨමාලා, සම්මන්ත්රණ, සහ වැඩමුළු තුළ CQRS, event-driven architecture, සහ cloud messaging පිළිබඳ ප්රායෝගික උදාහරණ ලෙස මෙය ඉදිරිපත් කිරීම, නව පුරෝගාමී සංවර්ධක පරපුරක් ගොඩනැගීමට මූලික වේ.
අවසානයේ, පද්ධති සැලැස්ම වෙනස් කිරීමෙන් කාර්ය සාධනය ඉහළ යැයි පෙනී ඇතත්, පරිශීලක අත්දැකීමේ සෞරග්රහණය නොඅමතක කිරීම අත්යවශ්යය. නව UI සලකුණු සහ පසුබැසීමේ දෘශ්ය පදනම සමඟ, ඔබේ යෙදුම ඉක්මනින්, විශ්වාසනීයව, සහ පාරිභෝගික‑හිතවන්තව පවත්වා ගැනීමට හැකියාව ලැබේ.