2017-11-15 9 views
0

私はローカルシステムでユーレカサーバーとzuulスプリングクラウドツールを使用してサンプルのスプリングクラウドマイクロサービスを作成しました。それは正しく動作します。私はユーリカのサーバープロジェクトでクライアントとしてマイクロサービスを登録しました。また、ユーレカのサーバーにクライアントとして私のzuulを登録しました。以下 クラウド展開のスプリングクラウドマイクロサービス構成

は、

server.port=8071 
eureka: 
numberRegistrySyncRetries: 1 
instance: 
hostname: localhost 
client: 
registerWithEureka: false 
fetchRegistry: false 
serviceUrl: 
    defaultZone: http://localhost:8071/eureka/ 
server: 
enable-self-preservation: true 

私のユーレカsererプロジェクトapplication.propertiesであり、以下のコードは、私のmicroservice application.propertyファイルの内容で、

eureka.client.serviceUrl.defaultZone=http://localhost:8071/eureka/ 
eureka.client.register-with-eureka=true 
eureka.client.fetch-registry=true 

そして私のzuul application.propertiesコードがあります、

eureka.client.serviceUrl.defaultZone=http://localhost:8071/eureka/ 
eureka.client.register-with-eureka=true 
eureka.client.fetch-registry=true 
spring.application.name=eurekaZuulClient 
ribbon.eureka.enabled=true 
zuul: 
routes: 
    espace-service: 
    path: /espace/** 
    stripPrefix: true 
    serviceId: espace-service 
    server.port=8090 
  • ここで私の疑問は、このアプリケーションをクラウドにデプロイするときに、クラウド上のserver.portと "eureka.client.serviceUrl.defaultZone"についてわからないため、application.propertiesで何を変更する必要があるかということです。私はlocalhostだけを実行しています。ですから、どのように構成でクラウド展開手順に従う必要がありますか?私は春の雲で初心者です。だから、私はこれらの設定で多くの混乱があります。誰も私の問題を明確にするのに役立つことができますか?
+0

ユーレカはよく知られてホストに展開する必要のために、環境変数を使用して、実行時に、あなたのホスト名を設定することができます:ポート – spencergibb

+0

[OK]をクリックします。しかし、私は "defaultZone"をどのように設定しましたか?そのドメインとポート番号が必要でした。どのようにドメインを追加するのですか?また、あなたが言及したよく知られているポートの識別プロセスは何ですか? – Jacob

+0

静的IP(aws内の弾性IP) – spencergibb

答えて

1

私たちはさまざまなAPIの状態を簡単に確認できるように、ユーレカの既知のポートを持つのが良いです。クラウドの展開にはこれを処理する方法が複数あります。

eurekaが導入されているインスタンスのIPをハードコードし、プロファイル名で区切ることができます。

eureka: 
    client: 
    serviceUrl: 
     defaultZone: http://localhost:8761/eureka/ 
--- 
eureka: 
    client: 
    serviceUrl: 
     defaultZone: http://172.0.0.1:8761/eureka/ 

---区切り記号の下の設定のビットは、アプリケーションがクラウドのSpringプロファイルの下で実行されるときのものです。 SPRING_PROFILES_ACTIVE環境変数を使用してプロファイルを設定するのは簡単です。 Cloud Foundry環境変数は、manifest.ymlまたはCloud Foundry LatticeのDockerファイルで設定できます。

ホスト名をJavaで判別できない場合は、IPアドレスがユーレカに送信されます。 hostnameを設定する唯一の方法は、eureka.instance.hostnameを使用することです。あなたが例eureka.instance.hostname = $ {} HOST_NAME

eureka: 
    instance: 
    serviceUrl: 
     defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ 
関連する問題