நீடித்த நிகழ்நேர பகுப்பாய்வுகளை வடிவமைத்தல்

உங்களுக்குப் புதிய தரவுகளுடன் கூடிய டேஷ்போர்டுகள் (dashboards) தேவைப்படுகின்றன. உங்கள் வணிகம் வளரும்போது அவை துல்லியமாக இருக்க வேண்டும். Event sourcing இதற்குத் தீர்வாக அமைகிறது.

பணிப்பாய்வு (The flow):

  • Producers: சேவைகள் டொமைன் நிகழ்வுகளை (domain events) அனுப்புகின்றன.
  • Event Bus: Kafka அல்லது Kinesis நிகழ்வுகளை ஒரு பதிவில் (log) சேமிக்கிறது.
  • Processors: இவை பதிவைப் படித்து, read models-களைப் புதுப்பிக்கின்றன.
  • Read Models: Postgres அல்லது Redis இறுதி அளவீடுகளைச் (metrics) சேமிக்கிறது.
  • Query API: உங்கள் டேஷ்போர்டு இங்கிருந்து தரவைப் பெறுகிறது.

உங்கள் வடிவமைப்பிற்கான முக்கிய விதிகள்:

  • நிகழ்வுகளை மாற்ற முடியாததாக (immutable) ஆக்குங்கள். ஒரு நிகழ்வை ஒருபோதும் மாற்ற வேண்டாம்.
  • Idempotency சாவிகளைப் (keys) பயன்படுத்துங்கள். இது நகல் தரவைத் தடுக்கிறது.
  • உங்கள் ஸ்கீமாக்களுக்கு (schemas) பதிப்பு எண்களை (version) வழங்குங்கள். இது பிழைகளைத் தவிர்க்கிறது.
  • Deterministic projections-ஐப் பயன்படுத்துங்கள். இது தரவை சீராக வைத்திருக்க உதவுகிறது.

இதை எவ்வாறு உருவாக்குவது:

  • உங்கள் முக்கிய நிகழ்வுகளைக் (core events) கண்டறியுங்கள்.
  • உங்கள் சேமிப்பு கருவிகளைத் தேர்ந்தெடுங்கள்.
  • அளவீடுகளுக்கான ஆரம்பக்கட்ட projections-களை உருவாக்குங்கள்.
  • நகல் நீக்க முறையை (deduplication) செயல்படுத்துங்கள்.
  • ஒரு schema registry-யை உருவாக்குங்கள்.
  • உங்கள் event lag-ஐக் கண்காணிக்கவும்.

இந்த அமைப்பு உங்கள் தரவை விரிவாக்கவும் (scale) மற்றும் தணிக்கை (audit) செய்யவும் அனுமதிக்கிறது. ஒவ்வொரு மாற்றத்தின் முழு வரலாற்றையும் நீங்கள் வைத்திருக்க முடியும்.

ஆதாரம்: https://dev.to/therizwansaleem/designing-a-durable-event-sourced-analytics-platform-for-real-time-dashboards-58fd