← Retour aux offres

Etude des algorithmes et développement de solutions pour prendre en compte la consistance éventuelle dans les applications de type micro services distribuées. Développement Full Stack.

Postée le 11 sept.

Lieu : Paris · Contrat : Stage · Rémunération : 1800€ €

Société : Rimes Technologies

RIMES est une fintech américaine spécialisée dans la gestion des données financières et dans les solutions de compliance dans le Cloud. Le stage se déroulera dans notre centre de R&D Parisien et vous serez amenés à collaborer avec les autres équipes de développement de RIMES situées à Londres et New York.

Description du poste

Mot Clefs: Eventual consistency, SAGA Pattern, Rabbit MQ, Development full stack, Micro services, Python, Azure, React.js/Redux.js
Les architectures micro services permettent de construire des systèmes capables de traiter de larges volumes de transactions en décomposant les opérations en une chaine de transactions unitaires asynchrones distribuées sur plusieurs sous-systèmes.
Cette décomposition ne permet plus de garantir la consistance des données au moment de la requête. On parle de « Eventual consistancy » ; les données du système finiront par être consistantes. Dès lors, plusieurs problèmes se posent :
- Comment assurer globalement la cohérence après une action ? et en particulier comment présenter à l’utilisateur un état cohérent ?
- Que faire si un des sous-systèmes échoue à réaliser sa part d’une transaction ? S’il est défaillant ou indisponible ?
L’objectif du stage est de rechercher des solutions pour répondre à ses problématiques :
- Vous étudierez les différentes solutions trouvées dans l’industrie (SAGA, pattern orchestration, Algo de compensation et de retard de traitement, cache optimiste client side),
- Vous évaluerez la faisabilité de ses solutions au regard des systèmes RIMES et de leur technologie (Python, Rabbit MQ, Azure, React/Redux),
- Vous évaluerez si des technologies complémentaires sont nécessaires et comment les mettre en œuvre (Kafka, Azure Message BUS ou autre…),
- Vous implémenterez ses solutions dans une application RIMES et généraliserez le pattern d’architecture dans le framework RIMES.
Vous montrez ainsi en compétence sur les aspects suivants :
- Développement Python pour la partie back-end
- Développement React/Redux pour la partie front end
- Algorithme de gestion consistance éventuelle : SAGA Pattern, Algo de Compensation & de retard de traitement, Algo d’orchestration
- Messaging avec Rabbit MQ
- Azure Cloud
Les travaux se déroulent suivant les méthodes Agile/Scrum et utilisent les techniques avancées de génie logiciel : conception UML, Pattern Design et Pattern Architectuel, Intégration continue avec Jenkins, tests unitaires, gestion de code avec Git, Project Management avec Jira...

Profil recherché

Volontaire, curieux(se) et doté(e) d’un sens critique, votre personnalité fera la différence.
Compétences requises :
- Curiosité et goût pour l’innovation
- Connaissance de Python et/ou React/Redux
- Anglais lu et écrit impératif

Pour postuler :

E-mail:
rachel.assouline@rimes.com
hadrien.hugot@rimes.com