Comment utiliser l'architecture de microservices dans le développement de fonctions backend Java ?
Résumé : Avec le développement rapide du cloud computing et du big data, l'architecture des microservices est progressivement devenue le courant dominant du développement des entreprises. Cet article explique comment utiliser l'architecture de microservices dans le développement de fonctions back-end Java et donne des exemples de code correspondants.
L'architecture des microservices est un style architectural qui divise une seule application en un ensemble de petits services indépendants. Chaque service s'exécute selon son propre processus et communique à l'aide de mécanismes de communication légers. Ce style architectural permet d'obtenir un développement agile, un déploiement rapide et une fiabilité du système.
Dans le développement de fonctions back-end Java, il existe certains frameworks et outils couramment utilisés qui peuvent nous aider à utiliser l'architecture des microservices, comme suit :
Tout d'abord, nous devons créer un microservice simple à l'aide de Spring Boot. Par exemple, nous créons un microservice nommé « UserService » pour fournir des fonctions liées à l'utilisateur.
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class UserServiceApplication { public static void main(String[] args) { SpringApplication.run(UserServiceApplication.class, args); } }
Ce code crée une application Spring Boot et est marqué comme une application Spring Boot via l'annotation @SpringBootApplication.
Ensuite, nous utilisons Spring Cloud pour implémenter l'enregistrement et la découverte des services. L'enregistrement et la découverte des services sont des concepts fondamentaux de l'architecture des microservices, qui offrent la possibilité de découvrir et de gérer automatiquement les services.
Nous pouvons utiliser Eureka pour la mise en œuvre de l'enregistrement et de la découverte des services. Tout d'abord, nous devons ajouter le contenu suivant au fichier de configuration du microservice « UserService » :
spring: application: name: user-service eureka: client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://localhost:8761/eureka/
Ensuite, nous créons un microservice nommé « EurekaServer » pour démarrer le centre d'enregistrement du service Eureka. Le code est le suivant :
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication @EnableEurekaServer public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } }
Ce code crée une application Spring Boot et active le registre du service Eureka via l'annotation @EnableEurekaServer.
Dans l'architecture des microservices, différents services doivent communiquer entre eux pour remplir les fonctions commerciales. Feign est un outil fourni par Spring Cloud pour définir et appeler des clients HTTP.
Nous pouvons créer un client Feign dans le microservice "UserService" pour appeler les interfaces d'autres services. Le code est le suivant :
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; @FeignClient(name = "order-service") // 指定要调用的服务名 public interface OrderServiceClient { @GetMapping("/orders") // 指定要调用的接口路径 List<Order> getOrders(); }
En utilisant l'annotation @FeignClient, nous pouvons spécifier le nom du service à appeler et le chemin de l'interface à appeler via l'annotation @GetMapping.
Enfin, nous pouvons utiliser Docker pour conteneuriser nos microservices pour un déploiement et une expansion faciles.
Tout d'abord, nous devons écrire un Dockerfile pour construire l'image. Le code est le suivant :
FROM openjdk:8-jdk-alpine COPY target/user-service.jar /app/ EXPOSE 8080 ENTRYPOINT ["java", "-jar", "/app/user-service.jar"]
Nous pouvons ensuite construire et exécuter un conteneur Docker à l'aide des commandes suivantes :
docker build -t user-service . docker run -p 8080:8080 user-service
Ces commandes construiront une image nommée "user-service" et exécuteront un conteneur mappé sur le port hôte 8080.
Résumé :
Grâce à l'introduction de cet article, nous avons appris à utiliser l'architecture de microservices dans le développement de fonctions back-end Java. Nous avons appris les étapes clés de l'utilisation de Spring Boot pour créer des microservices, de l'utilisation de Spring Cloud pour implémenter l'enregistrement et la découverte des services, de l'utilisation de Feign pour implémenter la communication entre les services et de l'utilisation de Docker pour conteneuriser les microservices. J'espère que ces contenus pourront vous aider à utiliser avec succès l'architecture des microservices dans des projets réels !
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!