Maison >Java >javaDidacticiel >Que fait Spring Cloud Netflix Eureka ?

Que fait Spring Cloud Netflix Eureka ?

王林
王林original
2024-04-18 08:33:02907parcourir

Eureka est un cadre pour la découverte et l'enregistrement de services dans Spring Cloud Netflix. Ses fonctions spécifiques incluent : permettre aux services de s'enregistrer auprès d'Eureka via l'API REST ; permettre aux clients de découvrir les services enregistrés via Eureka enverra régulièrement des battements de cœur aux services enregistrés et supprimera ; services du registre défectueux ou qui ne répondent pas ; Eureka fournit au client une liste de services et peut les distribuer uniformément selon la politique d'équilibrage de charge configurée.

Spring Cloud Netflix Eureka 的作用是什么?

Spring Cloud Netflix Eureka : découverte et enregistrement de services

Introduction

Spring Cloud Netflix Eureka est un cadre de découverte et d'enregistrement de services dans une architecture de microservices. Il est basé sur le service Eureka de Netflix et fournit des services dynamiques. Découverte, équilibrage de charge et tolérance aux pannes.

Fonction

Les principales fonctions d'Eureka sont les suivantes :

  • Inscription au service : Permettre aux services de s'enregistrer auprès d'Eureka via l'API REST.
  • Découverte de services : Permet aux clients de découvrir les services enregistrés via Eureka.
  • Bilan de santé : Eureka enverra périodiquement des battements de cœur aux services enregistrés et supprimera les services en mauvais état ou qui ne répondent pas du registre.
  • Équilibrage de charge : Eureka fournit une liste de services aux clients et peut effectuer une distribution équilibrée selon la politique d'équilibrage de charge configurée.

Cas pratique

1. Enregistrement du service

Dans une application Spring Boot, vous pouvez utiliser l'annotation @EnableEurekaClient pour activer l'enregistrement du service Eureka : @EnableEurekaClient 注解來啟用 Eureka 服務註冊:

@SpringBootApplication
@EnableEurekaClient
public class MyApplication {
    // ...
}

2. 服務發現

Eureka 默認會在埠 8761 上運行。客戶端應用程式可以使用 @LoadBalanced 注解將負載均衡策略應用於注入的 RestTemplate:

@RestController
public class MyController {
    @Autowired
    @LoadBalanced
    private RestTemplate restTemplate;
    
    @GetMapping("/")
    public String index() {
        String result = restTemplate.getForObject("http://my-service/", String.class);
        // ...
        return result;
    }
}

3. 健康檢查

Eureka 預設會每 30 秒向註冊服務發送心跳。可以通過在 application.properties 中設定屬性 eureka.instance.healthCheckUrlPath

eureka.instance.healthCheckUrlPath=/health

2. découverte

Eureka fonctionnera sur le port 8761 par défaut. Les applications clientes peuvent utiliser l'annotation @LoadBalanced pour appliquer des politiques d'équilibrage de charge au RestTemplate injecté :

rrreee

🎜3 Health Checks 🎜🎜🎜Eureka enverra par défaut un battement de cœur au service enregistré toutes les 30 secondes. . Vous pouvez personnaliser le chemin de la vérification de l'état en définissant la propriété eureka.instance.healthCheckUrlPath dans application.properties : 🎜rrreee🎜🎜Conclusion🎜🎜🎜Spring Cloud Netflix Eureka est la découverte de services Un cadre d'inscription puissant et facile à utiliser. Il offre des capacités dynamiques de découverte de services, d'équilibrage de charge et de tolérance aux pannes, simplifiant ainsi le développement et la maintenance des architectures de microservices. 🎜

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:
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