2016-07-16 6 views
3

私はゲームとプレーヤーの2つのリソースを持っていますが、どちらもクラッシュ機能を備えています。 これらは同じサーバーレスサービスに含まれていますか?私はそれらを分けたいですが、私はどのようにそれらを同じapiゲートウェイに入れますか?サーバーレスフレームワークv1 - 1つのサービス内の複数のリソース

+0

ですから、彼らは2つの別々のプロジェクトになりたいですか?なぜ、Serverlessプロジェクトの異なるディレクトリに関数を配置するだけではないのですか? – arjabbar

答えて

0

サーバーレスフレームワークプロジェクトは、単一のAPIゲートウェイを展開します。したがって、異なるAPIゲートウェイに存在させたい場合は、別々のサーバーレスフレームワークプロジェクトが必要です。

作成しているサービスのサイズによっては、それは意味をなさないか、そうでないかもしれません。

2つのAPIゲートウェイを上位にマージするには、APIゲートウェイのカスタムドメインを使用し、異なるAPIゲートウェイとステージへのパスに基づいてリクエストをプロキシすることができます。

0

この例では、同じサーバーレスフレームワーク内にそれらを保持したいと考えています。論理を分離するためにplayer.jsgame.jsという2つのファイルをsrc/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 
0

とセットアップサーバレスは、あなたが何をしたいことの一つの方法は、ラムダを展開するサーバレスを使用することですできますが、手動でラムダにエンドポイントをリンクするAPIゲートウェイを設定します。 https://serverless.com/framework/docs/providers/aws/guide/services/

それは述べて:ここに記載されたサーバレスで制限はあり

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

私たちの経験では、私たちは、クライアントに異なるAPIとルーティングオブジェクトを持つサービスを管理しています。

同じサーバーレスサービスであるべきかどうかを判断するには、モデリングを開始する必要があります。私たちの場合、次の質問に答えます:

  1. エンティティは関連していますか?
  2. エンティティとメソッドは同じレートで変更されますか?
  3. 消費者は、もう一方を消費せずに1組のエンティティを消費するでしょうか?

ゲームを変更すると、プレーヤーなどを変更する予定ですか?

このリンクは、その答えのお手伝いをすることができます:https://martinfowler.com/articles/microservices.html

関連する問題