前に書く
ソースコードはこちらです。この例は、このブログに基づいて説明されています。現在のアーキテクチャを確認するには、以下の画像を貼り付けます。
今のところあり8671
ユーレカのサーバインスタンスは、ポート番号と8672
、8673
ユーレカクライアントの同じアプリケーションの2つのインスタンスのポート番号と、ユーレカクライアントインスタンス8674
とリボンのポート番号。ここではmy-service-feign
、feignに基づいmyeureka-client
てモジュールによって呼び出される別のサービスを追加します。
1:作成my-service-feign
1.1:プロジェクトを作成する
new
-> module
、SelectSpring Inilializr
とjava8、次に、gavとその他の情報を入力します。作成が完了したら、次の図を参照してください。
1.2:親を設定する
<parent>
<groupId>dongshi.daddy</groupId>
<artifactId>my-eureka</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
1.3:依存関係を導入する
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
</dependencies>
1.4:完全なpom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>dongshi.daddy</groupId>
<artifactId>my-service-feign</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>my-service-feign</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>dongshi.daddy</groupId>
<artifactId>my-eureka</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
1.5:構成ファイル
server:
port: 8765
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
spring:
application:
name: dongshidaddy-first-feign-client
1.6:関連ソリューションを有効にする
@SpringBootApplication
@EnableEurekaClient
@EnableDiscoveryClient
@EnableFeignClients
これ@EnableFeignClients
は、偽のクライアントを有効にするためです。
完全なコードは次のとおりです。
@SpringBootApplication
@EnableEurekaClient
@EnableDiscoveryClient
@EnableFeignClients
public class MyServiceFeignApplication {
public static void main(String[] args) {
SpringApplication.run(MyServiceFeignApplication.class, args);
}
}
1.7:偽のサービスを構成する
@FeignClient(value = "DONGSHIDADDY-FIRST-EUREKA-CLIENT")
public interface SchedualServiceHi {
@RequestMapping(value = "/hi",method = RequestMethod.GET)
String sayHiFromClientOne(@RequestParam(value = "name") String name);
}
その中に@FeignClient(value = "DONGSHIDADDY-FIRST-EUREKA-CLIENT")
は、呼び出されるサービスの名前を指定することがありますDONGSHIDADDY-FIRST-EUREKA-CLIENT
。このメソッドsayHiFromClientOne
は、レストスタイルインターフェイスを介して、呼び出されたインターフェイスのマッピング情報を設定します。
1.8:コントローラーを構成する
@RestController
public class HiController {
@Autowired
SchedualServiceHi schedualServiceHi;
@GetMapping(value = "/hi")
public String sayHi(@RequestParam String name) {
return schedualServiceHi.sayHiFromClientOne( name );
}
}
2:テスト
2.1:開始my-enreka-server
このサービスは、サービスの登録センターとして使用されるeurekaのサーバー側であり、ポート番号は8761
です。
2.2:myeureka-client
最初のインスタンスを開始します
構成ファイルを変更してポート番号をに設定し、8762
開始します。
2.3:myeureka-client
2番目のインスタンスを開始します
ポート番号をに変更します8763
。直接ではなく開始に慎重に、あなたがする必要がEdit Configurations
springbootでプログラムを追加し、以下のように、その後、名称と主な機能を設定します。
表示するには、正常に起動した後http://localhost:8761/
、あなたは見ることができmyeureka-client
、それぞれ、2登録、ポート番号の例を8762
、8763
。
2.4:開始my-service-feign
起動後、以下のように、eurekaサーバーに登録されている情報を確認できます。
2.5:アクセスインターフェース
次のように繰り返し訪問すると、次のmyeureka-client
2つのインスタンスでロード呼び出しを行うことができます。
3:プロジェクト構造
この時点で、システムが持っている1
ユーレカサーバー、ポート番号8761
、3
ユーレカクライアント、つまりmyeureka-client
、my-service-ribbon
、my-service-feign
myeureka・クライアントの開始2个实例
ポート番号があり、8762
かつ8763
によって提供、私のサービス-リボンと私のサービス-装うコールmyeureka -サービスをクライアント。最終的な構造は次のとおりです
。蓝色边框
フレーム部分は、この記事で追加された部分です。