独自のAPIの使用について:これはトレードオフです。ツイッターの例では、独自のAPIを使って「APIチームにもっと多くのリソースを割り当てる」ことができました。それらの利益は、パフォーマンスヒットを上回った。他にも言及されていない他の利点があります。例えば、あなたのAPIを獣医師が最初に確認し、システムへの単一の統一されたエントリポイントを持つことです。あなたが投稿したリンクにも言及されている欠点もあります。
アプリケーションでは、達成したいアーキテクチャの特性を見て、それを与えられた制約とバランスさせて、自分で選択する必要があります。超高性能がリストの最上位にある場合は、その目標を達成するためにソリューションを工夫してください。
独自のAPIを使用する場合のパフォーマンスについて:もう一度異なります。 Twitterのケースでは、彼らはJavaScriptでAPIにアクセスすることを知っていました。したがって、物理的なジャンプはブラウザ - >サーバー - > DBです。クライアント/サーバー開発を行っている場合、これらのホップを回避する方法はありません。投稿したリンクの中で、彼らはDBに直接行くことについて話しました。はい、それは高速ですが、私はどのようにjavascriptクライアントから行うか分からない。私は彼らがカスタムAPIにウェブソケットを使用していたとすれば、それはより早いだろうが、どの開発コストであろうと思う。
要約パフォーマンスヒットだった独自のAPIを使用しているわけではありません。クライアントがHTTPホップを離れたかったからです。 これらのコメントのいずれも、サーバーのdbコールの外観やキャッシュ戦略、またはボトルネックとなる可能性のある他のダースのものについては言及していません。
Stack Overflowは独自のAPIも使用しています。それは遅いと思いますか? – Mat
クライアント(クライアントがWebアプリケーションであっても)を提供する場合、クライアントは自分自身のAPIのユーザーです。クライアントとサーバーとの通信方法は、要件によって異なります。公開APIが存在する場合、クライアントがこのAPIを使用すべきではない理由は近くにありません。 – andih
@Mat - 実際はそうではありませんが、そうでなければ速くなりませんか? – IMB