ഈടുനിൽക്കുന്ന റിയൽ-ടൈം അനലിറ്റിക്സ് രൂപകൽപ്പന ചെയ്യൽ
നിങ്ങൾക്ക് പുതിയ വിവരങ്ങൾ (fresh data) അടങ്ങിയ ഡാഷ്ബോർഡുകൾ ആവശ്യമാണ്. ബിസിനസ്സ് വളരുന്നതിനനുസരിച്ച് അവ കൃത്യത നിലനിർത്തുകയും വേണം. ഇവന്റ് സോഴ്സിംഗ് (Event sourcing) ഇതിന് പരിഹാരം നൽകുന്നു.
പ്രവർത്തന രീതി (The flow):
- പ്രൊഡ്യൂസറുകൾ (Producers): സർവീസുകൾ ഡൊമെയ്ൻ ഇവന്റുകൾ (domain events) അയക്കുന്നു.
- ഇവന്റ് ബസ് (Event Bus): Kafka അല്ലെങ്കിൽ Kinesis ഇവന്റുകളെ ഒരു ലോഗിൽ (log) സൂക്ഷിക്കുന്നു.
- പ്രോസസറുകൾ (Processors): ഇവ ലോഗ് വായിക്കുകയും റീഡ് മോഡലുകൾ (read models) അപ്ഡേറ്റ് ചെയ്യുകയും ചെയ്യുന്നു.
- റീഡ് മോഡലുകൾ (Read Models): Postgres അല്ലെങ്കിൽ Redis അന്തിമ മെട്രിക്സുകൾ (metrics) സൂക്ഷിക്കുന്നു.
- ക്വറി API (Query API): നിങ്ങളുടെ ഡാഷ്ബോർഡ് ഇവിടെ നിന്നാണ് വിവരങ്ങൾ ശേഖരിക്കുന്നത്.
രൂപകൽപ്പനയ്ക്കുള്ള പ്രധാന നിയമങ്ങൾ:
- ഇവന്റുകൾ മാറ്റമില്ലാത്തതാക്കുക (immutable). ഒരു ഇവന്റും ഒരിക്കലും അപ്ഡേറ്റ് ചെയ്യരുത്.
- ഐഡെംപോട്ടൻസി കീകൾ (idempotency keys) ഉപയോഗിക്കുക. ഇത് ഡ്യൂപ്ലിക്കേറ്റ് ഡാറ്റ തടയുന്നു.
- സ്കീമകൾ വേർഷൻ ചെയ്യുക (Version your schemas). ഇത് സിസ്റ്റം തകരാറിലാകുന്നത് തടയുന്നു.
- ഡെറ്റർമിനിസ്റ്റിക് പ്രൊജക്ഷനുകൾ (deterministic projections) ഉപയോഗിക്കുക. ഇത് ഡാറ്റയുടെ സ്ഥിരത (consistency) നിലനിർത്തുന്നു.
ഇത് എങ്ങനെ നിർമ്മിക്കാം:
- നിങ്ങളുടെ പ്രധാന ഇവന്റുകൾ (core events) തിരിച്ചറിയുക.
- സ്റ്റോറേജ് ടൂളുകൾ തിരഞ്ഞെടുക്കുക.
- മെട്രിക്സുകൾക്കായി പ്രാരംഭ പ്രൊജക്ഷനുകൾ നിർമ്മിക്കുക.
- ഡ്യൂപ്ലിക്കേഷൻ ഒഴിവാക്കുന്ന രീതി (deduplication) നടപ്പിലാക്കുക.
- ഒരു സ്കീമ രജിസ്ട്രി (schema registry) നിർമ്മിക്കുക.
- ഇവന്റ് ലാഗ് (event lag) നിരീക്ഷിക്കുക.
ഈ സംവിധാനം നിങ്ങളുടെ ഡാറ്റ സ്കെയിൽ ചെയ്യാനും ഓഡിറ്റ് ചെയ്യാനും സഹായിക്കുന്നു. ഓരോ മാറ്റത്തിന്റെയും പൂർണ്ണമായ ചരിത്രം നിങ്ങൾക്ക് ഇതിലൂടെ ലഭിക്കുന്നു.