I.概要
ユーレカクライアントコンポーネントプロバイダによって前部がサービスプロバイダを作成し、レジストリに登録を完了し、次のステップは、サービス消費者、消費者、プロバイダ呼関連のインターフェースを実装します。
第二に、サービスコンシューマを構築
春ブーツを通じてマイクロサービス・アプリケーションを構築するには、その後、ユーレカクライアントを通じてユーレカServerに登録されました。今回は、プロバイダとコンシューマコードの観点から、と何の違いを見ていないが、ユーレカクライアントは、我々は人工的なサービスプロバイダ、消費者の呼び出しサービスを提供するために、ビジネスの観点からそれらを区別し、具体的な実装では、ということRestTemplateと連動して行われる必要がありますサービスの消費者、消費者に関連するインタフェースRestTemplateのサービスプロバイダプロバイダを呼び出します。
1、サブモジュールのMavenコンシューマを作成します。
2は、ポンポンユーレカクライアントの依存関係を追加します。
<dependencies>
<!--添加 Eureka Client 依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
</dependencies>
リソースパスプロファイルapplication.ymlの下に作成3は、ユーレカクライアントサービスの消費者の消費者のこの時点では、ユーレカクライアントの設定を追加します。
server:
port: 8020 #当前 Eureka Client 服务端口
spring:
application:
name: consumer #当前服务注册在 Eureka Server 上的名称
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:8761/eureka/ #注册中心的访问地址
instance:
prefer-ip-address: true #是否将当前服务的 IP 注册到 Eureka Server
4、スタートアップspringboot開始クラスconsumerApplicationを作成し、RestTemplateの設定を追加します。
@SpringBootApplication
public class ConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class,args);
}
@Bean
public RestTemplate restTemplate(){
return new RestTemplate();
}
}
5、RestTemplateによってコントローラ、注入RestTemplateインスタンス、サービスプロバイダのビジネスメソッド呼び出しを作成します。
@RequestMapping("/consumer")
@RestController
public class StudentHandler {
@Autowired
private RestTemplate restTemplate;
@GetMapping("/findAll")
public Collection<Student> findAll(){
return restTemplate.getForObject("http://localhost:8010/student/findAll",Collection.class);
}
// .....完整实现参考https://gitee.com/zhengj/myspringcloud.git......
}
6、完全なプロジェクトディレクトリ以下のように:
7、ConsumerApplicationを登録センター、サービスプロバイダプロバイダを開始し、実行するためです。
アクセスするには、ブラウザを開いて、レジストリのインターフェイスのhttp:// localhostを:8761は、サービスプロバイダや消費者がレジストリに登録されている見ることができます。
8、あなたは消費者関連のサービスにアクセスすることができます。
第三に、要約
使用 Eureka Client 组件在 Eureka Server 注册一个服务消费者 consumer 的具体实现,无论是服务消费者还是服务提供者,都通过 Eureka Client 组件来实现注册,实现服务消费者 consumer 之后,通过 RestTemplate 完成对服务提供者 provider 相关服务的调用。
完整demo下载地址:
https://gitee.com/zhengj/myspringcloud.git