/ / Base de données pour une application java en cluster - base de données, modèles de conception, conception de base de données, architecture, informatique en cluster

Base de données pour une application Java en cluster - base de données, modèles de conception, conception de base de données, architecture, informatique en grappe

Je voudrais jouer avec kubernetesJe 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 SQLcomme 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 № 1

1) 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.