நீடித்த நிகழ்நேர பகுப்பாய்வுகளை வடிவமைத்தல்
உங்களுக்குப் புதிய தரவுகளுடன் கூடிய டேஷ்போர்டுகள் (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) செய்யவும் அனுமதிக்கிறது. ஒவ்வொரு மாற்றத்தின் முழு வரலாற்றையும் நீங்கள் வைத்திருக்க முடியும்.