CRDTs : La clé d'une forte cohérence finale

2025-09-09
CRDTs : La clé d'une forte cohérence finale

Les CRDT (Types de données répliquées sans conflit) sont des structures de données qui peuvent être répliquées sur plusieurs nœuds, éditées indépendamment et fusionnées de manière transparente. Cet article explore comment les CRDT permettent d'obtenir une forte cohérence finale (SEC), un modèle plus robuste que la cohérence finale traditionnelle. La SEC garantit que même avec des mises à jour indépendantes sur plusieurs nœuds, les conflits sont résolus automatiquement et de manière déterministe, ce qui permet une faible latence, une haute tolérance aux pannes et une fonctionnalité hors ligne. L'auteur soutient que les CRDT sont des éléments constitutifs fondamentaux des systèmes à forte cohérence finale, avec des applications allant bien au-delà de l'édition collaborative et des listes de tâches multijoueurs, jusqu'aux bases de données distribuées et au-delà.

Lire plus

NIH est moins cher qu'une mauvaise dépendance

2025-07-18
NIH est moins cher qu'une mauvaise dépendance

Cet article remet en question l'hypothèse selon laquelle les dépendances logicielles sont toujours bénéfiques. L'auteur soutient que les dépendances engendrent des coûts importants, notamment les courbes d'apprentissage, la surcharge de maintenance, les risques de sécurité et la complexité du déploiement. Prenant la base de données TigerBeetle comme exemple, l'article souligne les avantages d'une politique de « zéro dépendance ». Un cadre d'évaluation des dépendances est proposé, englobant l'ubiquité, la stabilité, la profondeur, l'ergonomie et l'étanchéité. Les appels système POSIX, les codes de contrôle de terminal ECMA-48 et la plateforme web sont utilisés pour illustrer l'application du cadre. L'article conclut en exhortant les développeurs à évaluer de manière critique les coûts et les avantages des dépendances avant de prendre des décisions.

Lire plus
Développement

Les fichiers veulent-ils être des acteurs ? io_uring et la convergence des paradigmes informatiques

2025-01-04
Les fichiers veulent-ils être des acteurs ? io_uring et la convergence des paradigmes informatiques

Dans les applications Linux hautes performances, io_uring révolutionne l'interaction avec le système d'exploitation. Il utilise des files d'attente de soumission et de complétion, permettant des E/S asynchrones sans attendre les appels système. Il suffit de mettre les opérations en file d'attente et de poursuivre le calcul. Cela ressemble remarquablement au modèle Actor : les objets envoient des messages pour effectuer des calculs concurrents. L'envoi d'opérations à des descripteurs de fichiers et la réception asynchrone de réponses dans io_uring sont étonnamment similaires. Cela suggère un changement vers un comportement du système d'exploitation asynchrone et autonome ; les méthodes traditionnelles d'appel système pourraient être une abstraction obsolète.

Lire plus
Développement