Java හි Loom තාක්ෂණය භාවිතා කරමින් 50,000 කට වැඩි සමකාලීන අයදුම් ඉල්ලීම් සලසන මයික්රොසර්විස්, පරණ round‑robin ලෝඩ් බාලන්සරය තවත් පසුබැසීම් සිදු කරයි. අඩු p99 ප්රතිචාර වේගයක් සහිත තද පීඩනයේදී පද්ධතියේ ප්රධාන ගැටලුව වන්නේ ඉල්ලීම් වල කාලය සමාන බවට පදනම් වූ round‑robin යොදා ගැනීමයි.
ඇයි round‑robin වැරදියි? මෙය සෑම ඉල්ලීමක්ම එකසේ කාලයක් ගත වන බව අනුමාන කරයි. නමුත් virtual thread‑වල බර වැඩක් ඇති වූ විට I/O bottleneck හෝ CPU‑මත පදනම් වූ අසමතුලිතතාවයක් පැනනැගෙයි. ඒ නිසා එකම node එකට අධික queue depth එකතු වෙයි, එම node එකේ head‑of‑line blocking සිදුවී p99 latency අහෝසි වේ.
CPU/Memory මට්ටමේ මාර්ගගත මැට්රික්ස් කිසිදාත් මයික්රොසෙකන්ඩ් මට්ටමේ thread queue spikes ගැන නොදන්නා නිසා, ඒවාට පදනම් වූ routing තීරණය අසාර්ථක වේ. "least‑connections" වැනි සරල අලූත්ම algorithm එකත්, නවීන node එකකට එකවර බොහෝ ඉල්ලීම් යොමු කර, thread contention නිසා එය කෙළින්ම බිඳ වැටේ.
පරිපූර්ණ විසඳුම – P2C + EWMA පද්ධතියේ සෑම node එකකම සක්රිය virtual thread ගණන සහ EWMA latency (Exponentially Weighted Moving Average) එකක් ගණනය කර, දෙකක් අතරින් අඩු score එකක් ඇති node එකට ඉල්ලීම යොමු කරයි. මෙය O(1) කාල සංකීර්ණතාවයක් ඇති අතර, random sampling (ThreadLocalRandom) භාවිතයෙන් දෙකක් තෝරා ගනී. EWMA හි exponential decay factor එක මගින් පරණ network glitches අහෝසි කර, නවතම latency තත්ත්වය පමණක් පවත්වා ගැනේ.
උදාහරණයක් ලෙස, පහත Java කේතය P2C load balancer එකේ මූලික ක්රියාකාරිත්වය පෙන්වයි:
public class P2CLoadBalancer { private final List
ශ්රී ලංකාවට ඇති වැදගත්කම
- සිසුන්ට: Java Loom සහ P2C වැනි නවතම load balancing තත්ත්වයන් ඉගෙන ගැනීම, තරඟකාරී තාක්ෂණ පසුබැසීමේදී අතිශය ප්රයෝජනවත් වේ.
- ඩිවෙලපර්ලාට: පරණ round‑robin මාරු කර, latency‑aware routing ක්රමය යොදා ගැනීමෙන් microservice පද්ධතියේ p99, p999 latency අඩු කර, පරිශීලක අත්දැකීම උසස් කරයි.
- ව්යාපාරිකයන්ට: ඉහළ throughput සහ ස්ථාවර response time නිසා, e‑commerce, fintech, health‑tech වැනි කාර්යයන්ට සේවා විශ්වාසනීයතාවය වැඩි වේ, එමඟින් ව්යාපාර ආදායම සහ පාරිභෝගික රැඳී සිටීම ඉහළ යයි.
අවසානයේ, round‑robin යුගය අවසන් වී, P2C + EWMA යන නව රවුට් ක්රමය Java virtual thread‑වල ඉහළ concurrency අවශ්යතා සපුරාලීමට සුදුසු වේ. ඔබේ සේවාවන්ට මේ පද්ධතිය අදම අනුගමනය කර, ලේසි latency‑aware load balancing එකක් ලබා ගන්න.