概要
簡単な例を使用して、スプリングクラウドでユーレカとリボンの基本的な使用法を示します。
バージョンと環境
Eurekaサーバーを構築します
Spring Cloudでは、Eurekaを使用してマイクロサービスを管理でき、MicroservicesをEurekaに登録できます。
まず、IdeaのSpring Initialzr使用して、Eureka Server登録センターを作成できます。
Application.Propertiesファイルを変更し、次のコンテンツを追加します
spring.application.name = eureka-server eureka.instance.hostname = localhost eureka.client.register-with-eureka = false eureka.client.fetch-registry = false server.port = 8881
Spring Bootによって生成されたスタートアップクラスServerApplicationに@EnableEurekaServerアノテーションを追加
パッケージcom.springcloud.eureka; Import org.springframework.boot.springApplication; Import org.springframework.boot.autoconfigure.springbootapplication; import org.springframework.cloud.netflix.eureka.server.enableteurekaserver;@enableteurekaserver@sprinablebootlicationpublic class serverApplication {public static void main(string [] args){springApplication.run(serverApplication.class、args); }}ブラウザにhttp:// localhost:8881/を入力します
次のインターフェイスを見ることができます。
サービスはまだ登録されていないことがわかります。この時点で、単純なマイクロサービス登録センターが構築されました。
Microservice userserviceを作成します
次に、RESTを使用してマイクロサービスインターフェイスを構築し、登録センターに登録します。まだ新しいプロジェクトを構築するためにSpring Initialzrを使用しています。使用法は上記と同じです。
今回はEureka Discoveryコンポーネントを確認する必要があることに注意してください。 Eureka Serverの代わりに。
Application.Propertiesファイルを変更し、次のコンテンツを追加します。
spring.application.name = user server.port = 8882 eureka.client.service-url.defaultzone = http:// localhost:8881/eureka/
Spring Bootが生成するUserApplicationクラスで@EnableDiscoveryClientアノテーションを使用してください。
パッケージcom.springcloud; Import org.springframework.boot.springApplication; Import org.springframework.boot.autoconfigure.springframework.cloud.client.discovery.enabledisclient; static void main(string [] args){springApplication.run(userapplication.class、args); }}完全なマイクロサービスインターフェイスを作成します。
パッケージcom.springcloud; import org.springframework.web.bind.annotation.getMapping; import org.springframework.web.bind.annotation.restController; @RestControllerPublic Class UserController {@getMapping( "/getUser")public String getuser( " }}userapplicationを実行した後、http:// localhost:8881/再度にアクセスしてください
ユーザーサービスが登録されていることがわかります。
マイクロサービス注文の書き込み
次に、注文マイクロサービスを作成し、ユーザーマイクロサービスのインターフェイスにアクセスします。
それでもSpring Initialzrを使用して新しいプロジェクトを構築します。ユーザーマイクロサービスは、複数のマシンに展開できます。クライアントがこのサービスにアクセスすると、ユーザーサービスが展開された状態で任意のマシンにリクエストをルーティングできます。したがって、クライアントはルーティングアルゴリズムを使用してユーザーサービスをスケジュールする必要があります。 Spring Cloudでは、リボンコンポーネントを使用してクライアントルーティングを実行できます。リボンは、対応するサービスを呼び出すためにサービスリストを取得するためにサービス登録センターにアクセスします。
今回は、 Eureka Discoveryコンポーネントをチェックすることに加えて。 Ribbonも確認する必要があります。
Application.Propertiesファイルを変更し、次のコンテンツを追加します。
spring.application.name = order server.port = 8883 eureka.client.service-url.defaultzone = http:// localhost:8881/eureka/
Spring Bootによって生成されたOrderApplicationクラスに次の構成を追加します。
パッケージcom.springboot; Import org.springframework.boot.springApplication; Import org.springframework.boot.autoconfigure.springframework.cloud.client.discovery.enablediscoverient; import.cling.clbalcrud.clbalcrud.clblamework.clbalclunt.clblamework.cloud.client.discovery.enabledisclient; org.springframework.context.annotation.bean; Import org.springframework.web.client.resttemplate; @enablediscoveryclient @sprinadbootapplicic class orderapplication {@bean @load @loadbalanced restemplate rettemplate() } public static void main(string [] args){springApplication.run(orderapplication.class、args); }}リボンが使用されるため、 @LoadBalancedアノテーションをここで使用する必要があります。
OrderController作成します。
パッケージcom.springboot; import org.springframework.beans.factory.annotation.autowired; import org.springframework.web.bind.annotation.getMapping; import org.springframework.web.bind.annotation.restcontroller; Import; org.springframework.web.client.resttemplate; @restcontrollerpublic class OrderController {@autowired privateRestTemplateRestTemplate; @getMapping( "/getOrderUser")public string getOrderUser(){return rettemplate.getForentity( "http:// user/getuser"、string.class).getbody(); }} OrderApplicationを実行した後、http:// localhost:8881/
注文サービスも登録センターに登録されていることがわかります。
次に、 OrderControllerのgetOrderUserメソッドにアクセスし、 UserControllerのgetUserメソッドへの呼び出しをトリガーします。
入力:http:// localhost:8883/getOrderUser
あなたはそれが返されることを見ることができます:私はユーザーリストです。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。