අපගේ නවීන තත්ත්ව පුවරුව මුලින්ම සරලම ආකාරයෙන් සකස් කරන ලද්දේ, සෑම සම්බන්ධිත පාරිභෝගිකයෙකුම එක් විනාඩියකට පසු තත්ත්ව API එකට ඇල්ලීම (polling) කිරීමයි. 30 ක් පමණ පාරිභෝගිකයන් සිටි කාලයේ මෙය කිසිඳු පිරිවැයක් නොදැනෙන්නා වූ ක්රියාවලියක් වුණා.
කාලයත් සමඟ පාරිභෝගික ගණන 400 ක් දක්වා වැඩිවීමෙන්, එක් විනාඩියකට 80 ක් පමණ ඉල්ලීම් (requests) සෑම තත්පරයකම එම එන්ඩ්පොයින්ට් එකට යැවෙමින්, සැබෑ තොරතුරු වෙනස් වීම අඩුම තරමේ තිබුණි. ඒ නිසා දත්ත ගබඩා විමසුමක්, JSON පරිවර්තනයක් සහිත ඉල්ලීම් 80 පාරක් එක් තත්පරයකම සිදු වීම, සර්වර් පූරණයට විශාල බරක් විය.
WebSocket වෙත මාරු කිරීම සරල “දත්තය push කරන්න” යන අදහසට අමතරව, තත්ත්වය වෙනස් වන විටම සේවාදායකය එය ප්රකාශ කිරීමට නව පද්ධතියක් සකස් කළ යුතු බව අපට අවබෝධ වුණා. එමනිසා, තත්ත්වය වෙනස් කරන සෑම කොඩ් පථයක්ම පරීක්ෂා කර, ඒ වෙනස සිදුවූ වහාම pub/sub පද්ධතියට සිග්නල් යැවීමට වෙනස්කම් කළා.
කොහොමත්, සමාගමේ කොටසක් වෙතින් ප්රොක්සි හේතුන් නිසා WebSocket සම්බන්ධතා අඩු විය හැකි බැවින්, අපි fallback පෝලිං ක්රමයක් තබා, සාර්ථක සම්බන්ධතාවයක් නොලැබුන පාරිභෝගිකයන් 5 තත්පරයක් වෙනුවට 60 තත්පරයකින් පසු තත්ත්වය පරීක්ෂා කරන ලෙස සැකසුම් කළා. මේ 3% ක පාරිභෝගිකයන්ට පවා පද්ධතියේ අඩුපාඩු හඳුනා ගැනීමට අවස්ථාව ලැබුණා.
සම්බන්ධතාවය කඩා වැටීම (Wi‑Fi අඩු වීම, ලැප්ටොප් නිදා ගැනීම, ලෝඩ් බැලන්සර් නැවත ඇරඹීම) සාමාන්ය සිදුවීමක් බවත්, එවකට පසු තත්ත්ව වෙනසක් සිදු වූවානම් ඒ වෙනස අහිමි වන බවත් අපි සොයා ගත්තා. එබැවින්, සම්බන්ධතාවය නැවත ස්ථාපනය වන විට, පාරිභෝගිකයා පූර්ව තත්ත්ව ඡායාරූපයක් (snapshot) ඉල්ලීමට නියම කළා; එවිට අහිමි වුනු තොරතුරු එකම ඉල්ලීමක් තුළ ප්රතිසාධනය වේ.
ප්රතිඵලය අතිශය සාර්ථකයි. පරණ පෝලිං එන්ඩ්පොයින්ට් එකේ ඉල්ලීම් ගණන 90% ක් අඩුවී, ඉතිරි ඉල්ලීම් ප්රධාන වශයෙන් සම්බන්ධතා හදාරන හෘද ස්පන්දන (heartbeat) වේ. ඒ සමඟ, තත්ත්ව වෙනසක් සිදුවූ විගස පාරිභෝගිකයන්ට එක-දෙක තත්පරයකින්ම පණිවුඩය ලැබෙයි, පෝලිං මගින් ලැබෙන උපරිම 5-තත්පර ප්රමාදය නොමැතිව.
ශ්රී ලංකාවට ඇති වැදගත්කම
- දේශීය ආරම්භක ව්යාපාරවලට සර්වර් පූරණය 90% කින් අඩු වීමෙන්, cloud වියදම් ඉතාමත් අඩුවේ.
- සිසුන්, නවතම real‑time architecture (WebSocket, pub/sub) ගැන අත්හදා බැලීමට උදව් වේ.
- දෙපාර්ශ්වික සංවර්ධකයන්ට පෝලිං‑push මෝඩලය අතර වෙනස තේරුම් ගැනීමට ප්රායෝගික උදාහරණයක් ලැබේ.
- අඩු ප්රතිචාර කාලයක් නිසා, මොනिटरින් පුවරුවේ තොරතුරු වඩාත් නවීනව පෙන්වයි, එමඟින් තීරණ ගැනීම වේගවත් වේ.
අවසන් වශයෙන්, පෝලිං තාක්ෂණය මත පදනම් වූ පද්ධතිවල පූර්ණ පරීක්ෂාවක්, WebSocket වැනි push‑based විසඳුම් සමඟ සම්බන්ධතා කළමනාකරණය කිරීම, වියදම් ඉතිරි කිරීමත්, පරිශීලක අත්දැකීම වඩාත් හොඳ කිරීමත් සපයයි.