Maison Java javaDidacticiel Gouvernance des services et méthode de mise en œuvre des limites actuelles basées sur Spring Boot

Gouvernance des services et méthode de mise en œuvre des limites actuelles basées sur Spring Boot

Jun 23, 2023 am 11:16 AM
spring boot 服务治理 限流

Avec le développement d'Internet, l'architecture des systèmes distribués a attiré de plus en plus d'attention et d'applications. Dans une architecture distribuée, le nombre et la complexité des services augmenteront considérablement. Afin de garantir une haute disponibilité et des performances élevées du système, la gouvernance des services et la limitation du courant sont devenues l'un des problèmes à résoudre. Cet article présentera la gouvernance des services et la méthode de mise en œuvre des limites actuelles basées sur Spring Boot.

1. Gouvernance des services

La gouvernance des services est une partie très importante de l'architecture distribuée, et elle est encore plus essentielle dans l'architecture des microservices. Spring Cloud, en tant que framework de microservices basé sur Spring Boot, fournit une solution complète pour la gouvernance des services.

  1. Équilibrage de charge

Lorsqu'un service est appelé par plusieurs clients, comment répartir les requêtes sur plusieurs instances de service pour obtenir un équilibrage de charge. Spring Cloud fournit un composant d'équilibrage de charge du ruban, qui peut obtenir une liste des instances de service dans le centre d'enregistrement des services et utiliser un algorithme d'équilibrage de charge spécifique pour envoyer des requêtes à chaque instance de service.

  1. Enregistrement et découverte des services

Dans un système distribué, certains services doivent appeler d'autres services, un mécanisme centralisé d'enregistrement et de découverte des services est donc nécessaire. Spring Cloud fournit le composant Eureka, qui peut réaliser des fonctions automatisées d'enregistrement et de découverte de services. Les développeurs n'ont qu'à introduire la dépendance du client Eureka, à enregistrer le service sur le serveur Eureka, puis à le découvrir et à l'appeler via le nom du service.

  1. Communication inter-services

Dans l'architecture des microservices, la communication entre les services peut être implémentée à l'aide de divers protocoles tels que HTTP, TCP, AMQP, etc. Spring Cloud fournit le composant Feign, qui peut implémenter la communication interservices en définissant des annotations sur l'interface. L'implémentation spécifique est la suivante :

Définir le client Feign :

@FeignClient(name = "user-service")
public interface UserService {
    @GetMapping("/user/{id}")
    User findUserById(@PathVariable("id") Long id);
}
Copier après la connexion

Appeler le service :

@Autowired
private UserService userService;

public User getUserById(Long id) {
    return userService.findUserById(id);
}
Copier après la connexion

Grâce à la méthode ci-dessus, vous peut utiliser Feign Implement appels entre services.

2. Limitation de courant

Dans l'architecture des microservices, la limitation de courant est une mesure très nécessaire, qui peut éviter l'effondrement du système causé par une surcharge du service. Spring Cloud fournit une variété de solutions de limitation actuelles.

  1. Hystrix Circuit Breaker

Hystrix est un framework open source tolérant aux pannes de Netflix, qui peut réaliser une dégradation de service, une isolation des pannes, un disjoncteur et d'autres fonctions. Dans Spring Cloud, la limitation du courant peut être obtenue en utilisant des composants Hystrix.

Exemple de code :

@RequestMapping("/getUser/{id}")
@HystrixCommand(fallbackMethod = "getUserFallback")
public User getUser(@PathVariable("id") Long id) {
    return userService.getUserById(id);
}

// fallback回调方法
private User getUserFallback(Long id) {
    return new User(id, "defaultUsername", "defaultPassword");
}
Copier après la connexion

En ajoutant l'annotation @HystrixCommand sur la méthode demandée et en spécifiant la méthode de rappel de secours, lorsque l'appel de service échoue ou expire, la méthode de secours sera appelée pour renvoyer la valeur par défaut, évitant ainsi l'effondrement de le service.

  1. Annotations de limitation actuelle

Spring Cloud Gateway fournit un moyen d'implémenter la limitation de courant via des annotations. Vous pouvez implémenter la limitation actuelle de l'interface en ajoutant l'annotation @RequestRateLimiter sur la route. La méthode d'implémentation spécifique est la suivante :

Définir le périphérique de limitation de courant :

@Bean
RedisRateLimiter redisRateLimiter() {
    return new RedisRateLimiter(1, 1);
}
Copier après la connexion

Ajouter une annotation de limitation de courant à l'itinéraire :

@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
    return builder.routes()
            .route(r -> r.path("/user/**")
                    .filters(f -> f.requestRateLimiter(c -> c.setRateLimiter(redisRateLimiter())))
                    .uri("lb://user-service"))
            .build();
}
Copier après la connexion

En ajoutant l'annotation @RequestRateLimiter à l'itinéraire, vous pouvez limiter le flux actuel de l'interface et éviter la surcharge du service.

Pour résumer, Spring Cloud fournit une solution complète de gouvernance des services et de limitation de courant. Les développeurs peuvent choisir les composants appropriés pour mettre en œuvre la gouvernance des services et la limitation de courant en fonction de la situation réelle.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle est la raison pour laquelle la diffusion en direct du compte vidéo n'est pas poussée ? Comment résoudre la limitation actuelle ? Quelle est la raison pour laquelle la diffusion en direct du compte vidéo n'est pas poussée ? Comment résoudre la limitation actuelle ? Mar 07, 2024 pm 02:04 PM

Début : Avec le développement rapide des médias sociaux, la vidéo en direct est devenue l’un des moyens importants permettant aux gens de partager leur vie et de transmettre des informations. Cependant, parfois, lorsque nous utilisons la fonction de diffusion en direct du compte vidéo, nous pouvons rencontrer une situation dans laquelle le flux ne peut pas être diffusé. Alors, quelle en est la raison ? 1. Quelle est la raison pour laquelle la diffusion en direct du compte vidéo ne diffuse pas le flux ? Les problèmes de réseau sont l'une des principales raisons pour lesquelles les comptes vidéo en direct ne diffusent pas les flux, en particulier les connexions réseau instables. Lorsque le signal réseau est instable, le flux vidéo ne peut pas être transmis correctement au serveur, ce qui empêche la diffusion en direct de fonctionner normalement. L'instabilité de la connexion réseau peut provoquer des blocages, des interruptions ou des retards dans la diffusion en direct, affectant l'expérience visuelle de l'utilisateur. Par conséquent, une connexion réseau stable est cruciale pour une diffusion vidéo en direct fluide. Pour résoudre ce problème, vous pouvez essayer d'améliorer le réseau

Que dois-je faire si ma diffusion en direct de Douyin n'a pas de trafic ? La raison pour laquelle la salle de diffusion en direct est restreinte Que dois-je faire si ma diffusion en direct de Douyin n'a pas de trafic ? La raison pour laquelle la salle de diffusion en direct est restreinte Mar 27, 2024 pm 10:51 PM

Avec le développement d’Internet, le streaming en direct est devenu une nouvelle méthode de marketing dans le secteur du commerce électronique. Parmi les nombreuses plateformes de diffusion en direct, Douyin Live a attiré beaucoup d'attention en raison de sa large base d'utilisateurs et de son puissant effet de communication sociale. Cependant, lors de la diffusion en direct de Douyin pour apporter des marchandises, certains présentateurs sont confrontés à un problème embarrassant : il n'y a pas de circulation dans la salle de diffusion en direct et personne ne se soucie des marchandises. Alors, lorsque la diffusion en direct de Douyin n’a pas de trafic, comment devrions-nous résoudre ce problème ? 1. Que dois-je faire si la diffusion en direct de Douyin n'a pas de trafic ? Améliorer la qualité du contenu : Le contenu de la salle de diffusion en direct est la clé pour attirer les utilisateurs. Les présentateurs peuvent commencer par des présentations de produits, des histoires de marque, des liens interactifs, etc. pour améliorer la qualité et l'attractivité du contenu en direct et donner envie aux utilisateurs d'acheter. Pour toucher un public plus large et répondre à ses besoins et intérêts, par le biais de communications directes

Comment maintenir un compte si Douyin a un trafic limité ? Quelles compétences sont nécessaires pour tenir un compte ? Comment maintenir un compte si Douyin a un trafic limité ? Quelles compétences sont nécessaires pour tenir un compte ? Mar 21, 2024 pm 09:10 PM

En tant que l'une des plateformes de vidéos courtes les plus populaires au monde, Douyin a attiré d'innombrables utilisateurs pour partager ici leur vie, leurs talents et leur créativité. À mesure que le nombre d’utilisateurs augmente, la concurrence sur Douyin devient de plus en plus féroce. Certains utilisateurs peuvent rencontrer les limitations de streaming de Douyin, ce qui peut affecter la lecture de leurs vidéos, leurs likes et la croissance de leurs fans. Cet article expliquera comment maintenir un compte Douyin après la limite actuelle, ainsi que les compétences qui doivent être maîtrisées pour maintenir un compte Douyin. 1. Comment conserver un compte lorsque TikTok est restreint ? Si vous constatez que votre compte Douyin a été restreint, vous pouvez prendre les mesures suivantes pour maintenir votre compte : Examiner le contenu vidéo : Vérifiez attentivement les vidéos récemment publiées pour vous assurer qu'elles répondent aux normes de recommandation de Douyin. Si un contenu illégal, vulgaire ou répétitif est constaté, il sera immédiatement supprimé. 2. Améliorer la qualité du contenu : lors de la création de vidéos, faites attention à la qualité du contenu

Spring Boot+MyBatis+Atomikos+MySQL (avec code source) Spring Boot+MyBatis+Atomikos+MySQL (avec code source) Aug 15, 2023 pm 04:12 PM

Dans les projets réels, nous essayons d'éviter les transactions distribuées. Cependant, il est parfois vraiment nécessaire de procéder à un fractionnement des services, ce qui entraînera des problèmes de transactions distribuées. Dans le même temps, des transactions distribuées sont également demandées sur le marché lors des entretiens. Vous pouvez vous entraîner avec ce cas et parler de 123 lors de l'entretien.

Ne pas pouvoir ajouter de tramage équivaut-il à être restreint ? Comment gérer les œuvres qui ne peuvent pas être soumises à Doujia ? Ne pas pouvoir ajouter de tramage équivaut-il à être restreint ? Comment gérer les œuvres qui ne peuvent pas être soumises à Doujia ? Mar 21, 2024 pm 09:47 PM

Sur Douyin, une plateforme de vidéos courtes comptant plus de 100 millions d'utilisateurs actifs quotidiens, de plus en plus de créateurs de contenu espèrent accroître la visibilité et l'influence de leurs œuvres en votant pour Douyin. Certaines personnes trouvent également que même si leurs œuvres ne sont pas soumises à Doujia, elles semblent restreintes. Alors, ne pas pouvoir voter pour Doujia signifie-t-il vraiment qu'il est limité ? Cet article discutera de ce problème et proposera des stratégies pour y faire face. 1. Ne pas pouvoir ajouter de tramage équivaut-il à être restreint ? Tout d’abord, nous devons clarifier un concept, celui de « limitation de courant ». Sur la plateforme Douyin, la limitation de courant signifie que la plateforme contrôle l'exposition des contenus en ajustant son algorithme, réduisant ainsi la fréquence à laquelle certains contenus sont affichés aux utilisateurs. La limitation ne signifie pas que le contenu sera complètement bloqué, mais cela réduira les chances qu'il apparaisse dans le champ de vision de l'utilisateur. Ne pas utiliser le tramage ne conduit pas directement à une limitation de courant.

Bénéficiez d'un support multilingue et d'applications internationales grâce à Spring Boot Bénéficiez d'un support multilingue et d'applications internationales grâce à Spring Boot Jun 23, 2023 am 09:09 AM

Avec le développement de la mondialisation, de plus en plus de sites Web et d'applications doivent fournir un support multilingue et des fonctions d'internationalisation. Pour les développeurs, la mise en œuvre de ces fonctions n’est pas une tâche facile car elle nécessite de prendre en compte de nombreux aspects, tels que la traduction linguistique, les formats de date, d’heure et de devise, etc. Cependant, grâce au framework SpringBoot, nous pouvons facilement implémenter un support multilingue et des applications internationales. Tout d’abord, comprenons l’interface LocaleResolver fournie par SpringBoot. Lieu

Comment utiliser Spring Boot pour créer des applications de traitement de Big Data Comment utiliser Spring Boot pour créer des applications de traitement de Big Data Jun 23, 2023 am 09:07 AM

Avec l’avènement de l’ère du Big Data, de plus en plus d’entreprises commencent à comprendre et à reconnaître la valeur du Big Data et à l’appliquer à leurs activités. La question qui se pose est de savoir comment gérer ce flux important de données. Dans ce cas, les applications de traitement du Big Data sont devenues quelque chose que chaque entreprise doit prendre en compte. Pour les développeurs, comment utiliser SpringBoot pour créer une application efficace de traitement du Big Data est également une question très importante. SpringBoot est un framework Java très populaire qui permet

Implémenter le mappage ORM basé sur Spring Boot et MyBatis Plus Implémenter le mappage ORM basé sur Spring Boot et MyBatis Plus Jun 22, 2023 pm 09:27 PM

Dans le processus de développement d'applications Web Java, la technologie de mappage ORM (Object-RelationalMapping) est utilisée pour mapper les données relationnelles de la base de données avec des objets Java, ce qui facilite l'accès et l'exploitation des données par les développeurs. SpringBoot, en tant que l'un des frameworks de développement Web Java les plus populaires à l'heure actuelle, a fourni un moyen d'intégrer MyBatis, et MyBatisPlus est un framework ORM étendu sur la base de MyBatis.

See all articles