ਰੀਅਲ-ਟਾਈਮ ਐਨਾਲਿਟਿਕਸ ਲਈ ਇੱਕ ਓਬਜ਼ਰਵੇਬਿਲਟੀ-ਡਰਾਈਵਨ ਡਾਟਾ ਪਾਈਪਲਾਈਨ ਨੂੰ ਡਿਜ਼ਾਈਨ ਕਰਨਾ
ਤੁਸੀਂ ਇੱਕ ਅਜਿਹੀ ਡਾਟਾ ਪਾਈਪਲਾਈਨ ਬਣਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ ਜੋ ਰੀਅਲ-ਟਾਈਮ ਐਨਾਲਿਟਿਕਸ ਪ੍ਰਦਾਨ ਕਰੇ। ਇਸ ਲਈ, ਤੁਹਾਨੂੰ ਇੱਕ ਅਜਿਹਾ ਸਿਸਟਮ ਡਿਜ਼ਾਈਨ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਜੋ ਤੇਜ਼ ਰਫ਼ਤਾਰ (high-velocity) ਵਾਲੇ ਇਵੈਂਟਸ ਨੂੰ ਸੰਭਾਲ ਸਕੇ, ਉਹਨਾਂ ਨੂੰ ਘੱਟ ਲੇਟੈਂਸੀ (low latency) ਨਾਲ ਪ੍ਰੋਸੈਸ ਕਰ ਸਕੇ, ਅਤੇ ਆਪਰੇਟਰਾਂ ਨੂੰ ਕਾਰਜਸ਼ੀਲ ਜਾਣਕਾਰੀ (actionable insights) ਪ੍ਰਦਾਨ ਕਰ ਸਕੇ।
ਇੱਥੇ ਮੁੱਖ ઘટਕ (components) ਹਨ:
- ਇੰਜੈਸਟ ਲੇਅਰ (Ingest layer): Kafka ਜਾਂ Kinesis ਵਰਗੇ ਸਟ੍ਰੀਮਿੰਗ ਸੋਰਸ ਅਡੈਪਟਰ
- ਪ੍ਰੋਸੈਸਿੰਗ ਲੇਅਰ (Processing layer): ਐਗਰੀਗੇਸ਼ਨ ਅਤੇ ਐਨਰਿਚਮੈਂਟ ਲਈ ਸਟ੍ਰੀਮ ਪ੍ਰੋਸੈਸਿੰਗ
- ਸਟੋਰੇਜ ਲੇਅਰ (Storage layer): ਰੀਪਲੇਏਬਿਲਟੀ ਲਈ ਅਟੁੱਟ (immutable) ਇਵੈਂਟ ਸਟੋਰ ਅਤੇ ਐਨਾਲਿਟਿਕਸ ਲਈ ਰੀਡ-ਆਪਟੀਮਾਈਜ਼ਡ ਸਟੋਰ
- ਸਰਵਿੰਗ/ਕੁਐਰੀ ਲੇਅਰ (Serving/query layer): ਮਟੀਰੀਅਲਾਈਜ਼ਡ ਵਿਊਜ਼ ਅਤੇ ਪ੍ਰੀ-ਐਗਰੀਗੇਟਡ ਟੇਬਲ
- ਓਬਜ਼ਰਵੇਬਿਲਟੀ ਲੇਅਰ (Observability layer): ਟ੍ਰੇਸਿੰਗ, ਮੈਟ੍ਰਿਕਸ, ਲੌਗਸ, ਡੈਸ਼ਬੋਰਡਸ, ਅਤੇ ਅਲਰਟਿੰਗ
ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ, ਆਪਣੀਆਂ ਲੋੜਾਂ (requirements) ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ:
- ਇੰਜੈਸਸ਼ਨ ਰੇਟ (Ingestion rate): 100k ਇਵੈਂਟਸ ਪ੍ਰਤੀ ਸੈਕਿੰਡ
- ਐਂਡ-ਟੂ-ਐਂਡ ਲੇਟੈਂਸੀ (End-to-end latency): ≤ 300 ms
- ਕੁਐਰੀ ਪੈਟਰਨ (Query patterns): ਸਮੇਂ-ਸੀਮਤ ਐਗਰੀਗੇਸ਼ਨ ਅਤੇ ਟੇਲ ਲੇਟੈਂਸੀ ਲਈ SLOs
ਆਪਣੇ ਓਬਜ਼ਰਵੇਬਿਲਟੀ ਨਤੀਜੇ (outcomes) ਚੁਣੋ:
- ਲੇਟੈਂਸੀ ਅਤੇ ਡਾਟਾ ਸਕਿਊ (data skew) ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਲੋੜੀਂਦੀ ਟੈਲੀਮੈਟਰੀ
- ਆਊਟੇਜਾਂ ਲਈ ਤੇਜ਼ ਰੂਟ-ਕੌਜ਼ ਵਿਸ਼ਲੇਸ਼ਣ (root-cause analysis)