3

ゲームとプレーヤーの 2 つのリソースがあり、どちらも crud 機能を備えています。これらは同じサーバーレス サービスにあるはずですか? それらを分離したいのですが、どうすれば同じ API ゲートウェイに配置できますか?

4

3 に答える 3

0

必要なことを行う 1 つの方法は、サーバーレスを使用してラムダをデプロイすることですが、エンドポイントをラムダにリンクするように API Gateway を手動で設定することです。

ここに記載されているサーバーレスには制限があります: https://serverless.com/framework/docs/providers/aws/guide/services/

それが述べているところ:

現在、すべてのサービスは AWS API Gateway で個別の REST API を作成します。AWS API Gateway の制限により、1 つの REST API ごとにのみカスタム ドメインを持つことができます。大規模な REST API を作成する予定がある場合は、この制限に注意してください。また、修正が進行中であり、最優先事項です。

私たちの経験では、クライアントにさまざまな API とルーティング オブジェクトを持つサービスを設定することができました。

それらを同じサーバーレス サービスに含めるかどうかを決定するには、モデリングに入る必要があります。私たちの場合、次の質問に答えます。

  1. エンティティは関連していますか?
  2. エンティティとメソッドは同じ速度で変更されますか?
  3. 消費者は、エンティティの 1 つのセットを消費せずに他のセットを消費しますか?

ゲームを変更すると、プレーヤーなどを変更しますか?

このリンクはその答えに役立ちます: https://martinfowler.com/articles/microservices.html

于 2017-02-22T20:42:19.947 に答える
0

あなたの例では、それらを同じサーバーレス フレームワークに保持する必要があります。2 つのファイルを作成player.jsgame.jssrc/controllersロジックを分離します。

次の YAML ファイルを使用してサーバーレスをセットアップできます

functions:
  player_info:
    handler: src/controllers/player.info
    events:
    - http:
        path: player # path in the url
        method: get
  player_create:
    handler: src/controllers/player.create
    events:
    - http:
        path: player # path in the url
        method: post
  player_delete:
    handler: src/controllers/player.delete
    events:
    - http:
        path: player # path in the url
        method: delete
  game_info:
    handler: src/controllers/game.info
    events:
    - http:
        path: player # path in the url
        method: get
  game_create:
    handler: src/controllers/game.create
    events:
    - http:
        path: player # path in the url
        method: post
  game_delete:
    handler: src/controllers/game.delete
    events:
    - http:
        path: player # path in the url
        method: delete
于 2017-02-19T17:27:51.980 に答える
0

サーバーレス フレームワーク プロジェクトは、単一の API ゲートウェイをデプロイします。したがって、別の API ゲートウェイに配置する場合は、別のサーバーレス フレームワーク プロジェクトが必要です。

作成しているサービスのサイズによっては、意味がある場合とそうでない場合があります。

2 つの API ゲートウェイを上位でマージするには、API ゲートウェイ カスタム ドメインを使用し、異なる API ゲートウェイおよびステージへのパスに基づいてリクエストをプロキシし、それらすべてに対して 1 つのドメインを維持します。

于 2016-09-01T12:53:09.320 に答える