Avez-vous essayé de modifier le document Google simultanément avec dix collègues? Si oui, félicitations – j’ai déjà rencontré cette technologie! Avant de perdre la croyance en la technologie coopérative, offrons-nous votre raccourci préféré: CRDTS – Types de données similaires similaires.

Le problème: tout le monde veut contrôler
Imaginez que vous et votre équipe de codage en même temps éditez le même GitHub Readme. Vous pouvez mettre à jour les étapes d’installation, ré-coordonner la section de la section, supprimer la moitié des instructions. Sans CRDTS, votre mise à jour des documents directs devient un chaos de conflits d’intégration et de messages d’engagement négatifs.
La synchronisation traditionnelle (verrouillage ou consensus) est efficace, comme les onglets qui sont décidés pour les espaces pendant la session de codage de l’équipe – quelqu’un ressent inévitablement une attaque personnelle.
Entrez CRDTS: avocat de la paix pour les systèmes distribués
Les types de données raffinées sans conflit évitent complètement l’intelligence de ces combats numériques. Il garantit la cohérence des données par le biais de systèmes distribués sans drame ni intervention humaine. Considérez-les comme des ambassadeurs diplomatiques à votre base de code – ils ne discutent pas; Ils fusionnent avec l’inclusion des amendements de chacun.
CRDTS 101: Allons un peu
Il y a des saveurs de CRDTS:
- Opération (CMRDT)Supposons une session de programmation pour le mari en partageant l’écran. Chaque pression ou action (exécution) est immédiatement diffusée à tous les collaborateurs. Chaque utilisateur est appliqué immédiatement, tout en maintenant sa version locale dans une synchronisation idéale. Un temps efficace, rapide et réel mais si quelqu’un perd l’opération en raison de problèmes de réseau, il peut trébucher dans la confusion ultérieurement.
- Cvrdt: Comme un engagement régulier envers votre travail, les images sont partagées périodiquement dans le cas actuel de votre projet. Tout le monde obtient finalement toutes les obligations (séquences) et combine des changements dans un état cohérent. Des accords CVRDTS solides et directs, avec une communication intermittente en toute sécurité, mais l’envoi de l’ensemble du statut du projet peut ressembler à un bodswidsth lourd et parfois ennuyeux.
Choses techniques
La beauté des CRDT réside dans la colonne vertébrale sportive:
- Échange: Les opérations peuvent se produire dans n’importe quel arrangement – comme porter des chaussettes et des chaussures (bien que les chaussures soient d’abord votre truc, je suis jugé).
- Connecter: L’assemblage n’affecte pas les résultats: (A + B) + C est le même A + (B + C). Pensez-y comme fusionner différentes branches dans le principal. La commande n’aura aucun effet sur votre base de lame.
- Idepotent: L’opération a plusieurs fois le même effet que de le faire une fois. Comme appuyer sur le bouton de l’ascenseur encore et encore – il n’atteint pas plus rapidement, Kevin!
Pourquoi CRDTS est meilleur que le mécanisme de synchronisation moyenne
- Sans connexion à Internet d’abordVous pouvez travailler en mode non-connexion et jointure plus tard, et la confiance dans les CRDT pour intégrer votre entreprise en douceur. Pas d’embarras, “Désolé, qui nous gardons?” Réunions.
- Haute disponibilité: N’attendez pas le consensus. Ils accomplissent simplement les choses rapidement et de manière fiable.
- Tolérance avec erreur: Si la symétrie est perturbée, le CRDTS ne panique pas – il est gracieusement transporté.
Exemples dans le monde réel
- Documents Google et FigmaÉdition similaire sans larmes.
- Riak & RedisLes bases de données qui traitent de plusieurs sources de vérité sans conflits.
- Systèmes de réservation d’aviationCRDTS garantit que vous n’êtes pas réservé dans le sein d’une personne.
CRDTS a ses limites
Oui, CRDTS n’est pas parfait. Parfois, il est lent, un peu attrayant et parfois les ingénieurs intelligents nécessitent des micro-insectes. Mais encore une fois, la perfection est exagérée – il suffit de demander à vos parents.
Clôture: a embrassé la révolution CRDT
Ainsi, la prochaine fois que votre système de distributeur menace de s’effondrer, introduisez-le à CRDTS. Ils sont exempts de conflit, de théâtre sans drame et de “cette saison” cette saison.
Vos collègues fonctionneront – et votre raison – merci.