Tout d'abord, l'architecture serveur unique
Fondée au début petit singe prêt à construire un des produits de vente du site Web de la compagnie d'électricité, parce que la société d'abord petit abonnés d'affaires et soucieux de la ligne, avec des fonds limités de la société a acheté un serveur, une petite équipe de singe pour développer le site dans un serveur ce sera officiellement lancé.
Deuxièmement, les clusters de serveurs
Projet sur la ligne a été bientôt exposé beaucoup de problèmes:
- Sur un seul point (le temps d'arrêt du serveur provoquera l'inutilisable l'ensemble du système)
- l'efficacité du traitement, le montant demandé un seul serveur peut recevoir est très limitée, une baisse importante dans le cas d'un grand temps de réponse de l'utilisateur, et même un dépassement de mémoire.
Rencontrés ces problèmes doivent être ajustés à l'architecture de service, nous avons décidé d'augmenter le nombre de serveurs par la conversation de l'équipe de singe, de sorte que vous pouvez avoir un seul serveur pour résoudre le problème de la demande de pression excessive, tandis que le serveur est en panne, même si certains peuvent également fournir des services en dehors normale .
Clusters présente plusieurs nouvelles questions:
- l'adresse IP de chaque serveur est pas le même, comment permettre aux utilisateurs de savoir lequel vous souhaitez accéder à la fin?
- problèmes de session avant les informations de connexion de l'utilisateur, et shopping cart, etc. sont l'existence de la mémoire, comment faire en sorte que chaque action du serveur cluster de serveurs de données de session du serveur.
Troisièmement, l'équilibrage de charge
Maintenant , doivent être traités de telle sorte que chaque serveur est le traitement des demandes peuvent effectivement équilibrer un certain nombre de possibles, comme round robin. Ceci est l' équilibrage de charge .
Une fois la tâche principale est de charger équilibreur accepte une demande d'utilisateur, et selon un certain algorithme une requête au serveur différent, formant un mode d'ajustement de la structure de la Fig.
(Apportez le problème de clustering de session peut généralement être Redis adopté ou autre serveur de cache pour le traitement, pas ici pour discuter de a)
Quatrièmement, le Distributed
Avec l'activité de l'entreprise de plus en plus petite charge de grands singes, les membres de l'équipe sont des systèmes de plus en plus lentement deviennent de plus en plus grande, mais aussi apporté quelques problèmes:
- Il suffit de modifier un certain nombre de petites fonctionnalités d'entreprise, mais qui ont besoin d'être une fois l'ensemble du système rééditée;
- systèmes commerciaux complexes, les développeurs trop mauvaise gestion, la faible efficacité du développement;
- Impossible d'accroître la capacité de traitement au niveau du serveur pour une entreprise particulière
Ainsi, la pensée d'une solution, un système selon le module est divisé en différents sous-systèmes, chaque équipe a une responsabilité correspondant à des sous-systèmes complets appellent chaque fonction de l'entreprise.
Bien sûr , le chiffre existera toujours dans le cadre d'un seul point , ce temps peut être combiné entre eux et avec des grappes technologiques pour améliorer la stabilité de l'architecture
Cinquièmement, micro-services
Une fois le système de répartition est un système complet pour chaque petits systèmes d'entreprise indépendants, peut avoir sa propre base de données séparée, chaque petit système est un micro-services , expose étrangers sa propre API, à travers des micro-services, peut être très bon réaliser l'expansion, par exemple lorsque deux-onze activités, hausse des commandes, cette fois -ci à envisager le déploiement de plus de quelques systèmes de négociation pour faire face à la pression de la demande de haute résistance, avec l'augmentation du nombre de systèmes, nous avons également besoin d'introduire des outils de gestion des services (tels que: Eureka), qu'il doit gérer la santé de chaque service.
Bien sûr, la micro-architecture servira également à introduire de nombreux nouveaux problèmes doivent être abordés, tels que la transaction distribuée, gestion des exceptions d'appel, les permissions, l'authentification, etc. gamme de questions, pas ici sur la première étendue, puis de continuer à améliorer le supplément de suivi.
Écrit dans la dernière:
Je me félicite de l'attention de tout le monde [nombre de partenariats public calme code ], des articles liés à Java de masse, du matériel d' apprentissage seront mis à jour à l'intérieur, les matériaux de finition sera à l'intérieur.
Je me sens bien d'écrire sur un point de louange, plus adeptes psalmodie! Point d'attention, ne pas se perdre, continuellement mis à jour! ! !