2017-04-10 6 views
0

CQRSを使用するAkkaに基づいていくつかのマイクロサービスを作成しようとしています。だから、私のマイクロサービスは、Httpエンドポイントで書き込み(クラスタにコマンドを送る)と読み取り側(データベースから予測を読む)を持っていますが、これは主な問題ではありません。多くのマイクロサービスのために、クライアントのために複雑なAPIを収集するという問題が生じました。私は答えを見つけました:APIゲートウェイパターン。しかし、私は次の質問があります:それをどのように実装できますか?API Akkaクラスターに基づくマイクロサービスのゲートウェイパターン実装

  1. APIゲートウェイパターン(単純にリバースプロキシ)を実装する別のプロジェクトを作成できます。フルスタックは次のようになります。

    Load balancer  
        -> API Gateway project 
        -> Load balancer 
         -> Microcervice read part 
         -> Database 
         -> Microcervice write part 
         -> Akka cluster 
    

長所:

二バランサ、およびAPI Gatewayのプロジェクトではないので、高速プロキシ:独自の抽象化

短所と

API Gatewayの別のプロジェクト

  1. APIゲートウェイ(認証など)は、Microserviceパーツに実装されているため、ロードバランサは複雑なAPIでエンドポイントを収集します。フルスタックは次のようになります。

    Load balancer 
        -> Microcervice read part (with public API) 
        -> Database 
        -> Microcervice write part (with public API) 
        -> Akka cluster 
    

長所:

  1. 直接アクセスクラスタ化すると、データベース
  2. 高速応答

短所:

コンプレックスmicroservices部品を、ブレンド層

どのような変種がより好ましいか、それとも別の変種ですか?

答えて

0

Kongプロジェクトをチェックしてください。には、APIゲートウェイについての考え方を示す素晴らしい図があります。また、あなたの実装にそれらを使用することを検討したいかもしれません。

関連する問題