À propos du service
TraduitJe développe des systèmes concurrents et distribués sur Akka, en Scala ou Java, et depuis plusieurs années, je transforme le modèle d'acteur en code qui gère calmement la charge. Lorsqu'un service doit traiter des dizaines de milliers de requêtes simultanées, stocker l'état par utilisateur en mémoire et ne pas perdre de messages en même temps, je conçois une hiérarchie d'acteurs, une stratégie de supervision et une gestion de la pression pour qu'un échec reste un événement local, et non une défaillance à l'échelle du système.
Je travaille avec l'ensemble des outils Akka : clustering et sharding de cluster pour distribuer des entités à travers des nœuds, Akka Streams pour des pipelines limités avec gestion de la pression, persistance et sourcing d'événements avec CQRS afin que les modèles d'écriture et de lecture évoluent indépendamment, et résolution de split-brain pour que les partitions réseau ne corrompent pas les données. Je me soucie également de ce que vous ne vous rappelez que dans la bataille : la passivation des acteurs inactifs, les mises à jour sans temps d'arrêt, la livraison au moins une fois avec des gestionnaires idempotents.
Contactez-moi si vous voulez un système qui est honnête sur la concurrence plutôt que de la cacher derrière des verrous. J'analyserai votre architecture actuelle ou commencerai de zéro, écrirai des acteurs testés et remettrai un code qui peut être compris. Tâches typiques :
— nouveaux backends basés sur des acteurs et protocoles de message ;
— migration d'un service bloquant vers Akka Streams ;
— ajout de sharding de cluster et de sourcing d'événements à une application en direct ;
— sauvetage d'un projet qui rencontre des blocages et des fuites d'acteurs sous charge.
Je travaille avec l'ensemble des outils Akka : clustering et sharding de cluster pour distribuer des entités à travers des nœuds, Akka Streams pour des pipelines limités avec gestion de la pression, persistance et sourcing d'événements avec CQRS afin que les modèles d'écriture et de lecture évoluent indépendamment, et résolution de split-brain pour que les partitions réseau ne corrompent pas les données. Je me soucie également de ce que vous ne vous rappelez que dans la bataille : la passivation des acteurs inactifs, les mises à jour sans temps d'arrêt, la livraison au moins une fois avec des gestionnaires idempotents.
Contactez-moi si vous voulez un système qui est honnête sur la concurrence plutôt que de la cacher derrière des verrous. J'analyserai votre architecture actuelle ou commencerai de zéro, écrirai des acteurs testés et remettrai un code qui peut être compris. Tâches typiques :
— nouveaux backends basés sur des acteurs et protocoles de message ;
— migration d'un service bloquant vers Akka Streams ;
— ajout de sharding de cluster et de sourcing d'événements à une application en direct ;
— sauvetage d'un projet qui rencontre des blocages et des fuites d'acteurs sous charge.