మేము మా సైన్‌అప్ పైప్‌లైన్‌ను సరిచేసిన రోజు

మా సైన్‌అప్ సంఖ్యలు ప్రతి వారం పెరుగుతూ వచ్చాయి. టీమ్ చాలా ఉత్సాహంగా ఉంది. కానీ డేటా ఏదో తప్పుగా అనిపించింది. యూజర్లు మళ్ళీ తిరిగి రాలేదు. ఈమెయిల్ అడ్రస్‌లు వింతగా ఉన్నాయి. మా యాక్టివేషన్ రేటు పడిపోయింది.

నేను డేటాను పరిశీలించాను. నాకు వృద్ధి కనిపించలేదు. కేవలం నాయిస్ (noise) మాత్రమే కనిపించింది.

సమస్య

నేను IP అడ్రస్ ఆధారంగా సైన్‌అప్‌లను గ్రూప్ చేయడానికి ఒక క్వెరీ (query) రన్ చేశాను. ఒకే IP అడ్రస్ నుండి 24 గంటల్లో వందలాది అకౌంట్లు రిజిస్టర్ అయ్యాయి. అది ఒకే బ్రౌజర్ ఫింగర్‌ప్రింట్‌ను ఉపయోగించింది. ఒక స్క్రిప్ట్ మా రిజిస్టర్ ఎండ్‌పాయింట్‌ను (register endpoint) హిట్ చేస్తోంది. అది తాత్కాలిక ఈమెయిల్ డొమైన్‌లను (throwaway email domains) ఉపయోగించింది. అది ఒక వ్యక్తి కాదు, ఒక బాట్ (bot).

మా సైన్‌అప్ పైప్‌లైన్ పూర్తిగా తెరిచి ఉంది.

పరిష్కారం

మేము ఒకే స్ప్రింట్‌లో మూడు పొరల రక్షణను (three layers of protection) నిర్మించాము.

లేయర్ 1: త్రోట్లలింగ్ (Throttling)

మేము రెండు రకాల రేట్ లిమిటింగ్ (rate limiting) పద్ధతులను ఉపయోగించాము.

లేయర్ 2: బ్లాక్‌లిస్ట్‌లు (Blocklists)

లేయర్ 3: IP బ్లాక్‌లిస్ట్

కొన్ని IPలు పదేపదే ప్రయత్నిస్తుంటాయి. అవి మా సిస్టమ్ యొక్క బహుళ భాగాలను దుర్వినియోగం చేస్తాయి. మేము ఒక హార్డ్ బ్లాక్‌లిస్ట్‌ను (hard blocklist) ఉపయోగిస్తాము. ఈ IPల నుండి వచ్చే ప్రతి రిక్వెస్ట్‌ను మేము తిరస్కరిస్తాము. మిడిల్‌వేర్ (middleware) వాటిని వెంటనే అడ్డుకుంటుంది.

ఫలితాలు

పరిష్కారం కంటే ముందు:

పరిష్కారం తర్వాత:

నేర్చుకున్న పాఠాలు

వృద్ధి అంటే కేవలం యూజర్లను పొందడం మాత్రమే కాదు. నిజమైన యూజర్లను పొందడం ముఖ్యం. మీ ఉత్పత్తి నిర్ణయాలు (product decisions) మంచి డేటాపై ఆధారపడి ఉంటాయి. ఆ డేటా మీ రిజిస్ట్రేషన్ ఎండ్‌పాయింట్ (registration endpoint) నుండే మొదలవుతుంది.

మూలం: https://dev.to/ogeobubu/the-day-we-fixed-our-signup-pipeline-3664