Dit is de eerste in een driedelige blogserie over hoe bedrijven Azure Cosmos DB gebruiken om aan de eisen van de echte wereld te voldoen en de impact die het heeft. In dit eerste deel van een driedelige serie kijken we naar de problemen die Skype tegenkwam en die hen ertoe aanzetten actie te ondernemen. We zullen bekijken hoe Skype Azure Cosmos DB gebruikte om zijn backend-infrastructuur te upgraden in deel 2. In deel 3 zullen we praten over de resultaten van die inspanningen.
Skype, opgericht in 2003, is uitgegroeid tot een van 's werelds populairste communicatiesystemen, waardoor gebruikers hun ervaringen met anderen kunnen delen, waar ze zich ook bevinden. Skype is sinds de overname door Microsoft in 2010 uitgebreid tot meer dan vier miljard gebruikers in totaal, meer dan 300 miljoen maandelijkse actieve gebruikers en meer dan 40 miljoen gelijktijdige gebruikers.
Een van de fundamentele interne Skype-services is de People Core Service (PCS), die de contacten, groepen en relaties van elke Skype-gebruiker opslaat. Wanneer de Skype-client begint, wordt de service aangeroepen, worden machtigingen geverifieerd bij het starten van een gesprek en worden de contacten, groepen en relaties van de gebruiker bijgewerkt wanneer ze worden toegevoegd of gewijzigd. Andere services van derden, zoals Microsoft Graph, Cortana, bot-provisioning en andere services van derden maken gebruik van PCS.
Vóór 2017 werd PCS gehost in drie datacenters in de Verenigde Staten, waarbij elk datacenter data hostte voor een derde van de 4 miljard abonnees van de dienst. Elke locatie had zijn eigen relationele SQL Server-database, die enorm en monolithisch was. Die databases, die al enkele jaren aanwezig waren, begonnen hun leeftijd te vertonen. De volgende waren enkele van de specifieke problemen en pijnen:
Al deze problemen verergerden naarmate het verbruik toenam, tot het punt waarop de pijn in 2017 ondraaglijk was geworden. Deadlocks kwamen steeds vaker voor naarmate het databaseverkeer toenam, wat resulteerde in serviceonderbrekingen en het verlies van sommige gegevens tijdens wekelijkse back-ups. van wat we hadden”, zegt Frantisek Kaduk, Principal.NET Developer in het Skype-team. "We hebben verschillende oplossingen bedacht om met alle impasses om te gaan, zoals extra code om databaseverzoeken te beperken." "Toen de problemen verergerden, wisten we dat we een andere aanpak moesten kiezen."
Bovendien liep het team tegen een deadline aan die verband hield met de Algemene Verordening Gegevensbescherming (AVG); het systeem voldeed niet aan de AVG-criteria, dus moesten de servers voor een bepaalde datum worden afgesloten.
Het team concludeerde dat het zijn eigen gegevensopslag nodig had om een compromisloze gebruikerservaring te bieden. Hoge doorvoer, lage latentie en hoge beschikbaarheid waren allemaal vereisten waaraan moest worden voldaan, ongeacht waar gebruikers zich op de planeet bevonden.
Een natuurlijke pasvorm was een gebeurtenisgestuurde architectuur, maar het zou meer moeten zijn dan alleen een basisimplementatie die actuele gegevens vastlegde. "We wilden een betere audit trail," vervolgt Kaduk, "waarbij alle gebeurtenissen worden opgeslagen die hebben geleid tot een staatsverandering." “We moeten bijvoorbeeld een reeks gebeurtenissen kunnen herhalen om klanten die zich misdragen aan te pakken. Om cross-service/cross-shard-transacties en andere postverwerkingstaken te beheren, hebben we ook gebeurtenisgeschiedenis nodig. De gebeurtenissen documenteren wie een staatsverandering heeft geïnitieerd, wat die verandering moest bereiken en wat er als gevolg daarvan gebeurde.Als er een probleem is, neem dan contact met mij op via Bellen Skype Nederland.
Je bent ook Lees meer:-Hoe u kunt oplossen dat G Suite niet werkt op apparaten