Apache Flink පදනම් කරගත් Stateful Functions (StateFun) පද්ධතිය, පසුගිය පස් වසරක කාලයක් පුරා Kafka සන්දේශයේ Header තොරතුරු කියවීමට හෝ සකස් කිරීමට අවසර නොදෙනවා. නවතම StateFun Actors 3.4.0‑KZM‑3.4 සංස්කරණය මේ පසුබැසිගත අඩවිය ඉවත් කර, Header පද්ධතිය සම්පූර්ණයෙන්ම ක්රියාත්මක කරයි.
දැන් ඔබට සන්දේශය ඇතුළත් කරන අවස්ථාවේ Header කියවා, එය ප්රතිඵල සන්දේශයේ යළි ඇතුළත් කරගත හැකිය. උදාහරණයක් ලෙස, traceparent Header එක ලබාගෙන, ඒක orderId සහ receipt සමඟ නව සන්දේශයක් ලෙස Kafka Egress වෙත යැවිය හැකිය:
```java String traceId = message.headers().stream() .filter(h -> h.key().equals("traceparent")) .findFirst() .map(MessageHeader::valueAsUtf8String) .orElse("no-trace"); context.send(KafkaEgressMessage.forEgress(EGRESS) .withTopic("orders.done") .withUtf8Key(orderId) .withValue(receipt) .withUtf8Header("traceparent", traceId) .withHeader("attempt", 2) .build()); ```
Header ගත කිරීම සක්රිය කිරීම සඳහා module.yaml ගොනුවේ forwardHeaders: true ලෙස සකස් කළ යුතුය. මෙම සැකසුම තෝරාගත් විෂය පථයන්ට පමණක් බලපායි; Header අවශ්ය නොවන විෂය පථයන්ට එය අක්රීයව තබා, ප්රදර්ශන කාර්යක්ෂමතාව අඩු නොවේ.
මෙම නවීකරණය සමඟ Null Header අගයන් පවත්නා පරිදි පවත්වාගෙන යයි, අගය හිස් වීම සහ Null වීම අතර වෙනස තවත් පද්ධතිවල පරිදි තබා ඇත. Header අගයක් නොලැබේ නම්, එය Exception එකක් නොව, Null අගයක් ලෙස පෙනේ, එමඟින් නිෂ්පාදන පරිසරයේ අතුරුදන්වීම් අවම වේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
සිංහල සංවර්ධකයන්ට මේ අලුත් Header සහය භාවිතා කිරීමෙන් tracing, auditing, සහ error handling වැනි ක්රියාකාරකම් සරලව කරගත හැකිය. W3C traceparent Header එක දැන් StateFun graph එකේ පාරිභෝගික payload එකට ඇතුළත් නොවී, සෘජුවම සන්දේශ Header මගින් ගමන් කරයි. මෙය මයික්රොසේවා, මූල්ය, ලොජිස්ටික්ස් වැනි කාර්යාලික ක්ෂේත්රවල දත්ත පාරදියුත් නිරීක්ෂණය සහ පාලනය වැඩිදියුණු කරයි.
ලෝකය පුරා සිංහල තාක්ෂණ සමාජය, Apache Flink සහ Kafka පදනම් කරගත් real‑time streaming පද්ධති නිර්මාණය කිරීමේ නව අවස්ථා ලබා ගනී. ශ්රී ලංකාවේ startup සහ IT සමාගම් මේ නවීකරණය භාවිතා කර, micro‑service architecture එකේ tracing සහ observability වැඩි දියුණු කර, සේවා විශ්වාසනීයත්වය ඉහළ ගෙන යා හැකිය.
අවසන් වශයෙන්, StateFun 3.4.0‑KZM‑3.4 හි Header සපයන හැකියාව, පසුගිය පස් වසරක හිඟය පිරවීමෙන්, සංවර්ධකයන්ට වැඩි නිර්මාණශීලීත්වයක්, වඩා හොඳ observability, සහ අඩු latency සමඟ real‑time data pipelines නිර්මාණය කිරීමේ හැකියාව ලබා දෙයි.