Sobes.tech

Golang

Použití ScyllaDB před producentem je antipattern. Jak správně organizovat deduplikaci?

Senior
181

Proč je potřeba ukládat surová data do úložiště S3? Je správné používat TTL na Redis na 5 minut, nebo je lepší je uchovávat déle, například 24 hodin, a používat ScyllaDB jako zdroj ověření dat?

Senior
156

Předpokládejme, že jsme velká reklamní síť. Umisťujeme bannery na partnerské stránky po celém světě. Navrhujeme systém pro sběr a zpracování událostí v reálném čase. Tyto údaje jsou kritické pro dva účely: Fakturace: Odečítání peněz od inzerentů za kliknutí. Analytika: Zobrazení aktuální výkonnosti kampaní (CTR, zobrazení) v osobním panelu. Vstupní data (pro výpočet zátěže) Musíte sami odhadnout požadované kapacity (RPS, traffic, úložiště) na základě následujících metrik: Partnerová síť: 500 000 aktivních stránek. Traffic: Průměrně každá stránka dostává 2 zobrazení stránek za sekundu. Reklamní bloky: Na každé stránce je současně zobrazeno 3 bannery. Konverze: Průměrná CTR (Click-Through Rate) je 1%. Nerovnoměrnost: Špičkové zatížení (večerní hodiny) je 4krát vyšší než průměr. Velikost události: Objekt události (ID banneru, ID stránky, UserID, Timestamp, typ události) váží přibližně 500 bajtů. Technické požadavky Near Real-Time: Data v analytickém rozhraní by měla být zobrazena s zpožděním nejvýše 10 sekund. Spolehlivost: Ztráta kliknutí není přijatelná (to znamená přímou ztrátu peněz). Ztráta zobrazení (impressions) je přijatelná do 0,01%. Škálovatelnost: Systém by měl být snadno rozšiřitelný s růstem počtu platforem.

Senior
146