ਟਿਕਾਊ ਰੀਅਲ-ਟਾਈਮ ਐਨਾਲਿਟਿਕਸ ਦਾ ਡਿਜ਼ਾਈਨ

ਤੁਹਾਨੂੰ ਤਾਜ਼ਾ ਡੇਟਾ ਵਾਲੇ ਡੈਸ਼ਬੋਰਡਾਂ ਦੀ ਲੋੜ ਹੈ। ਜਿਵੇਂ-ਜਿਵੇਂ ਤੁਹਾਡਾ ਕੰਮ ਵਧਦਾ ਹੈ, ਤੁਹਾਨੂੰ ਉਹਨਾਂ ਦੇ ਸਹੀ ਰਹਿਣ ਦੀ ਲੋੜ ਹੈ। Event sourcing ਇਸਦਾ ਹੱਲ ਕਰਦਾ ਹੈ।

ਪ੍ਰਵਾਹ (The flow):

  • Producers: ਸਰਵਿਸਿਜ਼ ਡੋਮੇਨ ਈਵੈਂਟਸ ਭੇਜਦੀਆਂ ਹਨ।
  • Event Bus: Kafka ਜਾਂ Kinesis ਈਵੈਂਟਸ ਨੂੰ ਇੱਕ ਲੌਗ ਵਿੱਚ ਸਟੋਰ ਕਰਦੇ ਹਨ।
  • Processors: ਉਹ ਲੌਗ ਨੂੰ ਪੜ੍ਹਦੇ ਹਨ ਅਤੇ read models ਨੂੰ ਅਪਡੇਟ ਕਰਦੇ ਹਨ।
  • Read Models: Postgres ਜਾਂ Redis ਅੰਤਿਮ ਮੈਟ੍ਰਿਕਸ ਨੂੰ ਸਟੋਰ ਕਰਦੇ ਹਨ।
  • Query API: ਤੁਹਾਡਾ ਡੈਸ਼ਬੋਰਡ ਇੱਥੋਂ ਡੇਟਾ ਲੈਂਦਾ ਹੈ।

ਤੁਹਾਡੇ ਡਿਜ਼ਾਈਨ ਲਈ ਮੁੱਖ ਨਿਯਮ:

  • ਈਵੈਂਟਸ ਨੂੰ immutable ਬਣਾਓ। ਕਿਸੇ ਵੀ ਈਵੈਂਟ ਨੂੰ ਕਦੇ ਵੀ ਅਪਡੇਟ ਨਾ ਕਰੋ।
  • Idempotency keys ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਹ ਡੁਪਲੀਕੇਟ ਡੇਟਾ ਨੂੰ ਰੋਕਦਾ ਹੈ।
  • ਆਪਣੇ schemas ਨੂੰ version ਕਰੋ। ਇਹ ਸਿਸਟਮ ਦੇ ਟੁੱਟਣ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ।
  • Deterministic projections ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਹ ਡੇਟਾ ਨੂੰ ਇਕਸਾਰ ਰੱਖਦਾ ਹੈ।

ਇਸਨੂੰ ਕਿਵੇਂ ਬਣਾਇਆ ਜਾਵੇ:

  • ਆਪਣੇ ਮੁੱਖ ਈਵੈਂਟਸ ਦੀ ਪਛਾਣ ਕਰੋ।
  • ਆਪਣੇ ਸਟੋਰੇਜ ਟੂਲ ਚੁਣੋ।
  • ਮੈਟ੍ਰਿਕਸ ਲਈ ਸ਼ੁਰੂਆਤੀ projections ਬਣਾਓ।
  • Deduplication ਨੂੰ ਲਾਗੂ ਕਰੋ।
  • ਇੱਕ schema registry ਬਣਾਓ।
  • ਆਪਣੇ event lag ਦੀ ਨਿਗਰਾਨੀ ਕਰੋ।

ਇਹ ਸੈੱਟਅੱਪ ਤੁਹਾਨੂੰ ਆਪਣੇ ਡੇਟਾ ਨੂੰ ਸਕੇਲ ਕਰਨ ਅਤੇ ਆਡਿਟ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਤੁਸੀਂ ਹਰ ਬਦਲਾਅ ਦਾ ਪੂਰਾ ਇਤਿਹਾਸ ਰੱਖਦੇ ਹੋ।

ਸਰੋਤ: https://dev.to/therizwansaleem/designing-a-durable-event-sourced-analytics-platform-for-real-time-dashboards-58fd