Je voudrais jouer avec kubernetes
Je peux créer une application simple, mais je voudrais maintenant concevoir quelque chose de plus complexe. Néanmoins, je ne peux pas comprendre comment gérer l’accès à la base de données dans une telle architecture.
Disons que j’ai 100 répliques de pods d’une application de discussion simple. Elles doivent toutes accéder à la même base de données (ou plus, comme un ensemble de données) et effectuer des tâches de CRUD
opérations sur eux. Comment le concevoir pour garder les données cohérentes et éliminer le risque d'impasses?
Si possible, je voudrais utiliser SQL
comme une base de données, donc je peux facilement utiliser hibernate
et d'autres outils que je connais bien.
Est-ce même possible ou dois-je utiliser une approche totalement différente? Quel est le nom de la technologie ou de l’architecture que je recherche?
Réponses:
1 pour la réponse № 11) Vous pouvez utiliser un pool de connexions pour réduire ce nombre et rendre les paramètres de connexion plus agressifs / élastiques;
2) Divisez vos microservices de manière à ce que lel'accès à la persistance est un microservice exposant votre service CRUD à votre persistance (mysql / rdms / nosql / etc). De cette façon, vous n’avez probablement pas besoin de centaines de répliques de vos pods.
3) Les impasses / stratégies de verrouillage - comme Andrewmentionné dans les commentaires, il est plus lié à votre architecture de développement logiciel qu'à K8 lui-même. Il existe de nombreuses façons de gérer cela avec des avantages / inconvénients.