2017-04-08 18 views
1

基本的な質問です。Springboot MicroserviceはEurekaに登録されていますが、ヒットできません。

私が発見サーバ作成しました:首尾よくそれで

@SpringBootApplication 
@EnableEurekaServer 
public class DisocveryServiceApplication { 

    public static void main(String[] args) { 
     SpringApplication.run(DisocveryServiceApplication.class, args); 
    } 

、登録microservicesを。 localhost:8761を押すと、私の発見サービスがマイクロサービスを見つけたことがわかります。私が指定されたポートでそれらをヒットすると、マイクロサービスは正常に動作します。たとえば、私はcredsと呼ばれるものを持っています。もし私がlocalhost:9000を打つと、それは返します。しかし、私は今、localhost:8761/credsを打つことができるはずです。同じ出力を表示しますが、これは動作しません。

私は誤解していますか?何を試してみるべきですか?

credsをはbootstrap.yml: ポート:9000 ユーレカ: クライアント: のserviceURL: defaultZone:http://localhost:8761/eureka/

がapplication.yml

を発見

spring: 
    application: 
    name: creds 

credsをは サーバーをapplication.yml

server: 
    port: ${PORT:8761} 

eureka: 
    client: 
    registerWithEureka: false 
    fetchRegistry: false 
    server: 
     waitTimeInMsWhenSyncEmpty: 0 

答えて

1

別の@EnableEurekaClient注釈付きSpringブートwebserviceは、とhttp://creds/...とを注入して、あなたの信用Webサービスにアクセスできます。credsは、ユーレカに登録されているspring.application.nameです。

Webアプリケーションの外部からcreds webserviceにアクセスする場合は、Zuul http://github.com/Netflix/zuulのようなプロキシが必要です。

0

Eurekaサーバーにマイクロサービスを登録するだけで、ゲートウェイの下でマイクロサービスにアクセスできるようになります。 Eureka Serverはゲートウェイサーバーではなく、サービスレジストリです。ユーレカは、クラスタ内の他のすべてのサービスに関する情報を保持するもう1つのサービスと考えることができます。それは登録されたクライアントに情報を得ること以外に何もしません。 Eureka Serverの下でリクエストをルーティングするためのゲートウェイサービスが必要な場合があります。 Zuul Proxyは、サービスIDまたは設定されたURLを使用して、下に横たわっているマイクロサービスに要求をルーティングします。

この依存関係をクラスパスに追加します。

dependency> 
    <groupId>org.springframework.cloud</groupId> 
    <artifactId>spring-cloud-starter-zuul</artifactId> 
    <version>1.0.4.RELEASE</version> 
</dependency> 

filezuulあなたの特性にこの設定を追加します。

routes: 
    serv1: 
     path: /serv1/** 
     serviceId: http://localhost:8080/serv1 
    serv2: 
     path: /serv2/** 
     serviceId: serv2 

を。これは、適切なサービスインスタンスへのルートリクエストを動的にルータを作成します。これにより、サービス用のサーバエンドロードバランサも提供されます。

関連する問題