ホームページ >Java >&#&チュートリアル >Java で書かれたマイクロサービス サービス登録センターとサービス ディスカバリ ツール
Java で書かれたマイクロサービス サービス登録センターとサービス検出ツール
マイクロサービス アーキテクチャの人気に伴い、サービスの登録と検出が重要になりました。成分。マイクロサービス アーキテクチャでは、サービスは登録センターにアクティブに登録され、登録センターを通じてサービスを検出して接続します。この記事では、Java を使用して簡単なマイクロサービス サービス登録センターとサービス検出ツールを作成する方法を紹介します。
マイクロサービス サービス登録センターは、各サービスの登録と検出を管理するために使用される集中コンポーネントです。この記事では、Spring Boot と Netflix Eureka を使用してサービス レジストリを実装します。
まず、Spring Boot に基づいてプロジェクトを作成する必要があります。 Eclipse や IntelliJ IDEA などの一般的な Java 開発ツールを使用してプロジェクトを作成し、次の依存関係を 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 リボンを使用してサービス検出を実装します。
同様に、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 リボンを使用してサービスを利用します。
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
インターフェイスが使用されます。
この記事では、Java を使用して、Spring Boot と Netflix Eureka に基づいたマイクロサービス サービス登録センターとサービス検出ツールを作成する方法を紹介します。これらのツールを使用すると、マイクロサービス アーキテクチャでサービスの登録と検出を簡単に実装できます。この記事があなたのお役に立てば幸いです!
以上がJava で書かれたマイクロサービス サービス登録センターとサービス ディスカバリ ツールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。