ホームページ >Java >&#&チュートリアル >Java で書かれたマイクロサービス サービス登録センターとサービス ディスカバリ ツール

Java で書かれたマイクロサービス サービス登録センターとサービス ディスカバリ ツール

王林
王林オリジナル
2023-08-09 11:12:211335ブラウズ

Java で書かれたマイクロサービス サービス登録センターとサービス ディスカバリ ツール

Java で書かれたマイクロサービス サービス登録センターとサービス検出ツール

はじめに

マイクロサービス アーキテクチャの人気に伴い、サービスの登録と検出が重要になりました。成分。マイクロサービス アーキテクチャでは、サービスは登録センターにアクティブに登録され、登録センターを通じてサービスを検出して接続します。この記事では、Java を使用して簡単なマイクロサービス サービス登録センターとサービス検出ツールを作成する方法を紹介します。

1. マイクロサービス サービス登録センター

マイクロサービス サービス登録センターは、各サービスの登録と検出を管理するために使用される集中コンポーネントです。この記事では、Spring Boot と Netflix Eureka を使用してサービス レジストリを実装します。

1.1 Spring Boot プロジェクトの作成

まず、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>

1.2 Eureka サーバーの構成

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

1.3 Eureka サーバーの作成

次に、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 で実行されます。

2. マイクロサービス サービス検出ツール

マイクロサービス サービス検出ツールは、サービス レジストリから利用可能なサービス インスタンスを検出するために使用されます。この記事では、Netflix リボンを使用してサービス検出を実装します。

2.1 Spring Boot プロジェクトの作成

同様に、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>

2.2 Eureka クライアントの構成

application.properties ファイルに次の構成を追加します。

spring.application.name=service-discovery-client
server.port=8080

eureka.client.service-url.defaultZone=http://localhost:8761/eureka/

2.3 サービス コンシューマの作成

次に、 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.";
    }
}

2.4 サービス コンシューマの実行

最後に、アプリケーションを起動すると、サービス コンシューマが http://localhost:8080 で実行されます。 http://localhost:8080/hello にアクセスすると、hello-service という名前のマイクロサービスの /hello インターフェイスが使用されます。

結論

この記事では、Java を使用して、Spring Boot と Netflix Eureka に基づいたマイクロサービス サービス登録センターとサービス検出ツールを作成する方法を紹介します。これらのツールを使用すると、マイクロサービス アーキテクチャでサービスの登録と検出を簡単に実装できます。この記事があなたのお役に立てば幸いです!

以上がJava で書かれたマイクロサービス サービス登録センターとサービス ディスカバリ ツールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。