Coinbase rozšířil naši službu uživatelů tak, aby udržel více než 1,5 milionu přečtených identit za sekundu. Zde je návod, jak na to: - Rozdělili jsme monolitický uživatelský objekt na nezávislé, logické skupiny nazvané "Fragmenty". - Migrováno z jednoho MongoDB clusteru do federovaného systému s využitím jak MongoDB, tak DynamoDB. - Pro souběžné zápisy jsme implementovali Optimistic Concurrency Control (OCC), která používá pole pro verzi zdroje pro porovnání a výměnu při zápisu, čímž se vyhýbáme pomalým globálním zámkům. - Pro silné záruky čtení po zápisu u kritických toků používáme "Freshness Tokens". Tyto tokeny jsou předávány při žádosti o čtení, aby bylo zajištěno, že vrácená data jsou alespoň stejně čerstvá jako verze spojená s tokenem, přičemž se v případě potřeby obchází cache. - Zavedli jsme mechanismus výpadku zatížení, který dynamicky přesměruje část příchozího provozu na fiktivní cílovou skupinu, když služba detekuje přetížení, čímž zabraňuje smyčce smrti MongoDB a umožňuje služby plynule degradovat. Tato architektura nám dává škálovatelnost zvládnout obrovské, nepředvídatelné vrcholy kryptoměnového trhu a odolnost stát se službou, na které může Coinbase stavět s důvěrou.