1. Quelle est la différence entre jpa et hibernate ?
(Étude recommandée : questions d'entretien Java)
L'API JPA Java Persistence est l'interface ORM standard de Java EE 5, et Fait partie de la spécification ejb3.
Hibernate, un framework ORM très populaire aujourd'hui, est une implémentation de JPA, mais ses fonctionnalités sont un sur-ensemble de JPA.
La relation entre JPA et Hibernate peut être simplement comprise car JPA est l'interface standard et Hibernate est l'implémentation. Alors, comment Hibernate parvient-il à établir cette relation avec JPA ? Hibernate est principalement implémenté via trois composants, hibernate-annotation, hibernate-entitymanager et hibernate-core.
hibernate-annotation est la base sur laquelle Hibernate prend en charge la configuration des annotations. Il inclut l'annotation JPA standard et l'annotation pour les propres fonctions spéciales d'Hibernate.
hibernate-core est l'implémentation principale d'Hibernate et fournit toutes les fonctions principales d'Hibernate.
hibernate-entitymanager implémente le JPA standard. Il peut être considéré comme un adaptateur entre hibernate-core et JPA. Il ne fournit pas directement de fonctions ORM, mais prend en charge hibernate- Le noyau est encapsulé dans. rendre Hibernate conforme aux spécifications JPA.
2. Qu'est-ce que le nuage printanier ?
Au sens littéral, Spring Cloud est un framework dédié aux systèmes distribués et aux services cloud.
Spring Cloud est un nouveau membre de toute la famille Spring et est un produit inévitable de la popularité récente des services cloud.
Spring Cloud fournit aux développeurs des outils pour créer rapidement certains modèles courants dans les systèmes distribués, tels que :
Gestion de la configuration
Enregistrement et découverte des services
Disjoncteur
Routage intelligent
Appels inter-services
Équilibrage de charge
Micro Agent
Bus de contrôle
Jeton unique
Verrouillage global
Élection du leader
Session distribuée
Statut du cluster
Message distribué
…
En utilisant Spring Cloud, les développeurs peuvent implémenter des services et des applications qui implémentent ces modèles prêts à l'emploi. Ces services peuvent fonctionner dans n'importe quel environnement, y compris les environnements distribués, y compris les ordinateurs portables des développeurs et diverses plates-formes d'hébergement.
3. Quelle est la fonction du disjoncteur Spring Cloud ?
Hystrix est utilisé dans Spring Cloud pour implémenter la fonction de disjoncteur. Le disjoncteur peut empêcher une application d'essayer d'effectuer une opération plusieurs fois, c'est-à-dire qu'elle est susceptible d'échouer, ce qui permet. pour continuer sans attendre la reprise après panne ou sans perdre de cycles CPU, il détermine que le défaut est persistant.
Le mode disjoncteur permet également aux applications de détecter si un défaut a été résolu et l'application peut tenter d'invoquer une action si le problème semble avoir été corrigé.
Les disjoncteurs ajoutent de la stabilité et de la flexibilité à un système, assurant la stabilité pendant que le système se remet d'un défaut et minimisant l'impact de ce défaut sur les performances. Cela peut aider à préserver les temps de réponse du système en rejetant rapidement les demandes pour une opération susceptible d'échouer, plutôt que d'attendre que l'opération expire (ou ne revienne pas).
Si un disjoncteur déclenche un événement à chaque fois qu'il change d'état, ces informations peuvent être utilisées pour surveiller la santé des composants du système protégés par le disjoncteur, ou pour alerter un administrateur lorsqu'un disjoncteur se déclenche. pour activer l'état.
4. Quels sont les composants principaux du Spring Cloud ?
1. Découverte de services - Netflix Eureka
Un service RESTful utilisé pour localiser les services de niveau intermédiaire exécutés dans les régions AWS. Il se compose de deux composants : le serveur Eureka et le client Eureka. Le serveur Eureka est utilisé comme serveur d'enregistrement de services.
Le client Eureka est un client Java utilisé pour simplifier l'interaction avec le serveur, agir comme un équilibreur de charge d'interrogation et fournir une prise en charge du basculement pour les services. Netflix utilise un client distinct dans son environnement de production qui fournit un équilibrage de charge pondéré en fonction du trafic, de l'utilisation des ressources et de l'état des erreurs.
2. Équilibrage de charge côté client - Ruban Netflix
Le ruban fournit principalement des algorithmes d'équilibrage de charge logiciel côté client. Le composant client Ribbon fournit une série d'options de configuration complètes, telles que le délai d'expiration de la connexion, la nouvelle tentative, l'algorithme de nouvelle tentative, etc. Ribbon intègre des composants d'équilibrage de charge enfichables et personnalisables.
3. Disjoncteur - Netflix Hystrix
Un disjoncteur empêche une application d'essayer d'effectuer une opération plusieurs fois, ce qui est susceptible d'échouer, lui permettant de continuer sans attendre une reprise après échec ou gaspiller le cycle du processeur pendant qu'il détermine que le défaut est persistant. Le mode disjoncteur permet également aux applications de détecter si le défaut a été résolu. Si le problème semble avoir été corrigé, l'application peut tenter d'appeler l'opération.
4. Passerelle de service - Netflix Zuul
Semblable à nginx, fonction de proxy inverse, mais Netflix lui-même a ajouté certaines fonctionnalités pour coopérer avec d'autres composants.
5. Configuration distribuée - Spring Cloud Config
Ceci est toujours statique et doit être combiné avec Spring Cloud Bus pour réaliser des mises à jour de configuration dynamiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!