web-dev-qa-db-ja.com

Masheryは私のニーズに合っていますか?

Masheryサイト には多くの非技術的な情報があります。そして、MasheryはすべてAPI管理に関するものであると、どこでも述べられています。

私はそれについて3つの質問があります:

  1. 平易な英語でのAPI管理とは何ですか?

  2. 統合プロセスはどのように見えますか? (プログラムを変更する必要がありますか?既存のユーザーはプログラムを変更する必要がありますか?両方の答えが「いいえ」の場合、どのように機能しますか?)

  3. 多くのサーバーに展開されているRESTful APIを備えたステートレスアプリケーションがあります。次の統計を取得する必要があります。

    a)着信要求:HTTPヘッダー、パス、要求本文、タイムスタンプ、インスタンスID。

    b)例外:要求識別子、エラーの種類、エラーの詳細、タイムスタンプ。

    c)要求処理:開始タイムスタンプ、要求処理全体の期間。

そして、(グラフのように)結合(マージ)結果も必要です。 Masheryはこれらの要件に適合していますか?

2
Roman

私はActive.comの製品開発ディレクターであり、Masheryを2年以上使用しています。

  1. API管理にはAPIキーの割り当て(Googleマップと同様)が必要なため、どの開発者がどのAPIにアクセスできるかを制御し、開発者がAPIを頻繁に呼び出して報告することでAPIを乱用しないように制御を調整し、アイデアを得ることができますどのAPIがどのくらいの頻度で使用され、どの開発者によって使用されているか。また、インフラストラクチャではなくMasheryから直接応答が送信されるように、キャッシュが含まれます。これにより、読み取りAPIのスケーラビリティの問題に対処するために新しいサーバーを調達する必要がなくなります。

  2. Masheryは、本質的に、APIの上にあるリバースプロキシです。たとえば、apicompanyx.comでAPIが利用できるとします。 Masheryを実行すると、api.companyx.comというドメインを作成し、MasheryプロキシにCNAMEします。次に、APIにリクエストを行うときに、開発者にapi.companyx.comを指定します。 APIリクエストが行われると、MasheryはリクエストをAPIインフラストラクチャに転送する前に前述のアクセス制御ロジックを適用します。 APIインフラストラクチャはリクエストを処理し、Masheryに返します。その後、Masheryはリクエストを開発者に返します。

  3. a)MasheryダッシュボードからHTTPヘッダーの詳細を取得することはできません。しかし、プロキシログに情報があるため、Mashery(私はそう思う)にその情報をリクエストできます。 b)例外がログに記録され、一定期間にわたってAPIごとに発生したすべての例外をグラフで表示できます。ただし、エラーコードのみがグラフ化されます。エラーの詳細はプロキシを介して利用できません。 c)再びグラフを介して、APIが処理するのにかかる時間、および一定期間に処理するリクエストの数に関する統計を取得できます。 Masheryは、キャッシュされた処理時間とキャッシュされていない処理時間を分けているため、キャッシュがどのように機能しているのかを知ることができます。

2
user8329