Rejoignez-Nous sur

Incident post mortem: du 25 au 26 juin 2019

News

Incident post mortem: du 25 au 26 juin 2019

Mark Hudnall

Au cours de la semaine du 24 juin, Coinbase.com eu deux périodes de service dégradé. Le 25 juin, pendant une période de 30 minutes, la plupart des clients ont été confrontés à des messages d'erreur les empêchant de finaliser des achats, des ventes et des transactions. Le 26 juin, pendant environ 32 minutes, environ un tiers des clients ont été confrontés à des messages d'erreur sur l'ensemble du site et des applications mobiles.

Vous trouverez ci-dessous une description détaillée de la cause ainsi que des modifications apportées pour empêcher toute dégradation similaire du service.

De 15h16 à 15h46 (22h16-22h46 UTC), fonctionnalité achat / vente / échange sur Coinbase.com était gravement dégradé avec un taux d'erreur de 97%. En d'autres termes, 97% des demandes d'achat / vente / échange ont reçu une réponse d'erreur.

Cette grave dégradation du service a été causée par le basculement automatique d'un cluster MongoDB qui alimente la logique de prévention de la fraude dans le cadre d'une maintenance planifiée. Les basculements de cluster pour la maintenance planifiée sont généralement instantanés et ont un impact minimal sur le client. Le basculement de ce cluster particulier a duré 25 minutes en raison de sa taille et de sa configuration de réplication. Pendant ce temps, les requêtes et les commandes du cluster n'ont pas pu être complétées. Étant donné que le cluster est utilisé pendant les cycles de demande / réponse pour soumettre des achats, des ventes et des échanges, les demandes adressées à ces noeuds finaux sont erronées.

Nous sommes actuellement en train de restructurer la fonctionnalité métier afin de déplacer l'utilisation de ce cluster hors du chemin des demandes. Nous mettons également à jour la configuration pour nous assurer que les basculements se feront instantanément. Nous nous sommes assurés que les basculements pour ce cluster ne peuvent être lancés que pendant des temps d'indisponibilité planifiés et rares, lorsqu'il n'y aura aucun impact sur les clients.

De 13h37 à 14h09 (20: 37-21: 09 UTC), Coinbase.com connu des taux d’erreur persistants sur tous les points finaux. Les taux d'erreur ont oscillé autour de 35% pendant toute la durée de l'incident.

Cette dégradation modérée du service a été causée par une latence accrue des requêtes sur un cluster MongoDB stockant des données de compte utilisateur. Plusieurs facteurs contributifs ont conduit à une latence accrue des requêtes et à un service dégradé:

  1. Avant le début de l'incident, un travail en arrière-plan a effectué une agrégation pour un grand nombre de comptes, ce qui a entraîné des lectures excessives dans le cache et des expulsions de cache pour le cache du moteur de stockage du cluster.
  2. Peu après, un grand nombre de alertes de prix en temps réel ont été déclenchés, ce qui a entraîné une augmentation considérable du débit des requêtes pour ce cluster.
  3. L'augmentation du débit des requêtes, combinée aux précédentes expulsions de cache, a généré une pression supplémentaire sur le cache, une file d'attente des requêtes et une latence accrue des requêtes. Ce sont des conclusions initiales; En collaboration avec MongoDB, notre enquête est en cours.
  4. En raison de la latence accrue des requêtes au cours du cycle requête / réponse, les travailleurs Web sont devenus saturés et desservent HTTP 502.
Activité du cache du moteur de stockage pour le cluster affecté

L'incident a été résolu lorsque nous avons basculé manuellement le cluster affecté vers des instances disposant de plus de mémoire. Depuis l’incident, nous avons procédé comme suit:

  • Nous avons audité la taille du jeu de travail de tous les clusters, redimensionnant et / ou réduisant la taille du jeu de travail si nécessaire.
  • Nous avons supprimé le travail en arrière-plan et procédons à un audit de requêtes similaires, en les déplaçant vers des nœuds d'analyse.
  • Nous avons optimisé certains points de terminaison haut débit les plus touchés lors des alertes de prix.
  • Nous poursuivons nos efforts pour réduire la charge sur MongoDB en mettant en cache et en lisant des magasins de données secondaires pouvant être mis à l’échelle horizontalement.

Nous prenons très au sérieux la disponibilité et nous travaillons fort pour aider les millions de clients qui choisissent Coinbase pour gérer leur crypto-monnaie. Si vous souhaitez résoudre des problèmes de mise à l’échelle comme ceux présentés ici, viens travailler avec nous.

Sauf indication contraire, toutes les images fournies aux présentes appartiennent à Coinbase.



Traduction de l’article de Mark Hudnall : Article Original

BlockBlog

Le Meilleur de l'Actualité Blockchain Francophone & Internationale | News, Guides, Avis & Tutoriels pour s'informer et démarrer facilement avec Bitcoin, les Crypto-Monnaies et le Blockchain. En Savoir Plus sur L'Équipe BlockBlog

Commenter cet Article

Commenter cet Article

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus dans News

Les Plus Populaires

Acheter des Bitcoin

Acheter des Alt-Coins

Sécuriser vos Cryptos

Vêtements et Produits Dérivés

Top
quis, pulvinar mattis risus. ut adipiscing