CQRSを使用するAkkaに基づいていくつかのマイクロサービスを作成しようとしています。だから、私のマイクロサービスは、Httpエンドポイントで書き込み(クラスタにコマンドを送る)と読み取り側(データベースから予測を読む)を持っていますが、これは主な問題ではありません。多くのマイクロサービスのために、クライアントのために複雑なAPIを収集するという問題が生じました。私は答えを見つけました:APIゲートウェイパターン。しかし、私は次の質問があります:それをどのように実装できますか?API Akkaクラスターに基づくマイクロサービスのゲートウェイパターン実装
APIゲートウェイパターン(単純にリバースプロキシ)を実装する別のプロジェクトを作成できます。フルスタックは次のようになります。
Load balancer -> API Gateway project -> Load balancer -> Microcervice read part -> Database -> Microcervice write part -> Akka cluster
長所:
二バランサ、およびAPI Gatewayのプロジェクトではないので、高速プロキシ:独自の抽象化
短所と
API Gatewayの別のプロジェクト
APIゲートウェイ(認証など)は、Microserviceパーツに実装されているため、ロードバランサは複雑なAPIでエンドポイントを収集します。フルスタックは次のようになります。
Load balancer -> Microcervice read part (with public API) -> Database -> Microcervice write part (with public API) -> Akka cluster
長所:
- 直接アクセスクラスタ化すると、データベース
- 高速応答
短所:
コンプレックスmicroservices部品を、ブレンド層
どのような変種がより好ましいか、それとも別の変種ですか?