Java로 작성된 마이크로서비스 서비스 등록 센터 및 서비스 검색 도구
마이크로서비스 아키텍처의 인기로 인해 서비스 등록 및 검색이 중요한 구성 요소가 되었습니다. 마이크로서비스 아키텍처에서 서비스는 등록 센터에 적극적으로 등록하고 등록 센터를 통해 서비스를 검색하고 연결합니다. 이 기사에서는 Java를 사용하여 간단한 마이크로서비스 서비스 등록 센터 및 서비스 검색 도구를 작성하는 방법을 소개합니다.
마이크로서비스 서비스 등록 센터는 각 서비스의 등록 및 검색을 관리하는 데 사용되는 중앙 집중식 구성 요소입니다. 이 기사에서는 Spring Boot와 Netflix Eureka를 사용하여 서비스 레지스트리를 구현합니다.
먼저 Spring Boot 기반의 프로젝트를 생성해야 합니다. Eclipse 및 IntelliJ IDEA와 같은 일반적인 Java 개발 도구를 사용하여 프로젝트를 생성하고 pom.xml
파일에 다음 종속성을 추가할 수 있습니다. pom.xml
文件中:
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> </dependencies>
在application.properties
文件中,添加以下配置:
spring.application.name=eureka-server server.port=8761 eureka.client.registerWithEureka=false eureka.client.fetchRegistry=false eureka.server.enable-self-preservation=false eureka.server.eviction-interval-timer-in-ms=60000
接下来,创建一个EurekaServerApplication
类,并使用@EnableEurekaServer
注解来启用Eureka服务器。
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @EnableEurekaServer @SpringBootApplication public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } }
现在,启动该应用程序,Eureka服务器将在http://localhost:8761
上运行。
微服务服务发现工具用于从服务注册中心中发现可用的服务实例。在本文中,我们将使用Netflix Ribbon来实现服务的发现。
同样地,创建一个基于Spring Boot的项目,并添加以下依赖项到pom.xml
文件中:
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-ribbon</artifactId> </dependency> </dependencies>
在application.properties
文件中,添加以下配置:
spring.application.name=service-discovery-client server.port=8080 eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
接下来,创建一个HelloController
类,并使用Netflix Ribbon来消费服务。
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @Autowired private DiscoveryClient discoveryClient; @GetMapping("/hello") public String hello() { List<ServiceInstance> instances = discoveryClient.getInstances("hello-service"); if (instances != null && !instances.isEmpty()) { ServiceInstance serviceInstance = instances.get(0); String url = serviceInstance.getUri().toString(); RestTemplate restTemplate = new RestTemplate(); return restTemplate.getForObject(url + "/hello", String.class); } return "No service available."; } }
最后,启动该应用程序,服务消费者将在http://localhost:8080
上运行。通过访问http://localhost:8080/hello
,它将消费名为hello-service
的微服务的/hello
rrreee
>application.properties
파일에 다음 구성을 추가합니다. rrreee
1.3 Eureka Server🎜🎜 만들기다음으로EurekaServerApplication
클래스를 만들고 @EnableEurekaServer
주석을 사용합니다. 유레카 서버를 활성화합니다. 🎜rrreee🎜 이제 애플리케이션을 실행하면 http://localhost:8761
에서 Eureka 서버가 실행됩니다. 🎜🎜2. 마이크로서비스 서비스 검색 도구🎜🎜마이크로서비스 서비스 검색 도구는 서비스 레지스트리에서 사용 가능한 서비스 인스턴스를 검색하는 데 사용됩니다. 이 기사에서는 Netflix 리본을 사용하여 서비스 검색을 구현합니다. 🎜🎜2.1 Spring Boot 프로젝트 만들기🎜🎜마찬가지로 Spring Boot를 기반으로 프로젝트를 만들고 pom.xml
파일에 다음 종속성을 추가합니다. 🎜rrreee🎜2.2 Eureka 클라이언트 구성🎜🎜 application.properties
파일에 다음 구성을 추가합니다. 🎜rrreee🎜2.3 서비스 소비자 만들기 🎜🎜다음으로 HelloController
클래스를 만들고 Netflix 리본을 사용하여 서비스를 사용합니다. 🎜rrreee🎜2.4 서비스 소비자 실행 🎜🎜마지막으로 애플리케이션을 시작하면 서비스 소비자가 http://localhost:8080
에서 실행됩니다. http://localhost:8080/hello
에 액세스하면 hello-service
라는 마이크로서비스의 /hello
인터페이스가 사용됩니다. 🎜🎜결론🎜🎜이 기사에서는 Java를 사용하여 Spring Boot 및 Netflix Eureka 기반의 마이크로서비스 서비스 레지스트리 및 서비스 검색 도구를 작성하는 방법을 소개합니다. 이러한 도구를 사용하면 마이크로서비스 아키텍처에서 서비스 등록 및 검색을 쉽게 구현할 수 있습니다. 이 기사가 도움이 되기를 바랍니다! 🎜위 내용은 Java로 작성된 마이크로서비스 서비스 등록 센터 및 서비스 검색 도구의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!