【翻訳】Mashapeが15,000のAPIとマイクロサービスをどのように管理しているか(3)
https://stackshare.io/mashape...
伸縮の課題
2013年には、多くの自己運用のサードパーティAPIがMashapeの市場に追加されたとき、私たちは伸縮の問題に遭遇しました.
2012年7月と2013年7月に私たちのAPIの数は50倍に増えました.http://i.imgur.com/0JaNhEM.png
私たちのエージェントのリクエスト数が急騰しているだけでなく、Mashapeは他の市場よりも多くのAPIを管理し始めました.その時、市場には3500の公開APIが彼の管理を必要とした.
API市場は急速に拡張する必要がある.我々のAPIエージェントはNode.jsで構築され,バックエンドは重型Javaで構築されている.彼は単体アプリケーションアーキテクチャであり、私たちのNode.jsエージェントは大きなトラフィックピークを処理できません.
その時は残業が多く、AWSのリソースを大量に消費していました.私たちの銀行口座にはお金が少なくなり、CEOも髪の毛をたくさん落としました.
信頼性と安全を保証すると同時に、大きなトラフィックを処理する方法を見つける必要があります.単体アプリケーションからより柔軟な方法に移行したいと考えています.
http://i.imgur.com/C75mgO7.png
私たちはずっと自分たちのAPIゲートウェイを作成したいと思っています.目標は次のとおりです.月と年単位で予測可能な安定性は、日ではありません. は、複数の地理的位置で容易に拡張され、効率を維持し、最小限のオーバーヘッドを有する. は、いくつかの単純なプラグインによってコンポーネント化され、拡張しやすい. 独立:さまざまな環境、フレームワーク、言語をサポートします. は、RESTful APIを使用して構成するのに便利です.
基本的にAPI管理界の「ElasticSearch」です.私たちのCTOは案を探し始め、偶然CloudFlareのエンジニアに出会って、私たちを不思議なOpenResty世界に連れて行きました.Nginx上位層では開発者がLuaでNginx機能を拡張できるように構築されており、Luaは多くの大トラフィックサイトで使用されている組み込みスクリプト言語である.
CloudFlareはLuaスクリプトを使用してセキュリティとキャッシュを構築します.APIとマイクロサービス管理に焦点を当てるだけで、私たちは同じことができると思います.Nginxはすでに安定で信頼できるHTTPサーバとして公認されており、これは私たちの元のニーズに非常に適しています.OpenRestyを使用した後、Kongの構築を開始しました.
Kongの誕生(APIゲートウェイ)
2013年、MashapeはNginx/openRestyを使用して市場でAPIを発表する機能を実現した.課金、認証、フロー制御、レート制限はLuaで書かれたカスタムOpenRestyプラグインになりました.私たちは彼をKongと呼んでいます(はい、「金剛」のように、私たちの名前:MashAPEのように).http://i.imgur.com/2azlel3.png
今日Kongは約15000 APIを効率的に管理することができます.私たちの内部のマイクロサービスと私たちの市場のユーザーのAPIサービスのために、ピーク流量、高同時シーンを処理し、毎月10億以上のAPI呼び出しを処理することができます.
API管理のために独自の「ElasticSearch」を構築しました.Elasticのように、RESTfulインタフェースでLuceneの上層に文法糖を加え、KongはNginxに包装されています.
以下に、アプリケーション市場でKongを操作する例を示します.
APIがグラフィックインタフェースからMashapeプラットフォームに入力されると、POST要求がKongに送信されます.
その後、APIプロバイダのニーズに基づいて、様々なプラグインのセットが上位層に追加されます.たとえば、ユーザーが鍵検証を必要とする場合:
ユーザー管理は簡単です.Consumerオブジェクトを使用すると、抽象エンティティがユーザー、アプリケーション、クライアント、またはAPIにアクセスするシステムを表すことができます.彼らは簡単にRESTfulインタフェースで作成して管理することができます.
KongのRESTfulAPIでは、市場の何千ものAPIを管理できます.単純なコードライブラリを使用すると、マイクロサービスとシステムが互いに独立していることを維持できます.Kong自体は,そのプラグインの本質に基づいて,サービスアーキテクチャの模範として記述できる.彼のコアでは、データベース抽象、ルーティング、プラグイン管理を処理するなど、千行以上のコードしかありません.プラグインは、異なるコードライブラリに保存され、エージェントによって要求された任意のライフサイクルで数行のコードの代価で挿入されます.私たちはこのような非常にユニークなAPI管理ゲートウェイを誇りに思っています.
Kongと2015年4月(http://techcrunch.com/2015/04... オンラインです.その時、一部の書き換えを経験しました.そして、強いユーザーと開発者コミュニティを同時に構築しました.私たちは世界中の開発者の貢献に感謝し、オープンソースKongを決定してくれて嬉しいです.OpenRestyのLuaパッケージを多く改善することで、コミュニティにフィードバックします.
私たちは多くのlinuxリリース版とクラウドプロバイダのためにKongのパッケージを生成し、インストールと導入を容易にしました.私たちが成功したリリース版はDockerのKongに基づいて、リリースから180,000のダウンロード量を持っています.
未来の道
毎月、オープンソースAPI開発者コミュニティをサポートするコードの一部としてKongにより多くのコードを発表しています.Kongを1.0のマイルストーンに達するように努力しています.これは、この内部ツールが私たちの会社とコミュニティに与える喜びをすべての人に感じさせることができます.
私たちも他の多くの製品で働いています.これらの製品はAPI開発者に提供されているサービス家族の一部で、来月私たちがしなければならないことを知らせるのが待ちきれません.
われわれのビジョン
私たちのオフィスには、私たちのインスピレーションとして、最初のフォード生産ラインの巨大な写真があります.
100年前に第2次工業革命が始まった.多くの新発明の中で2つの最も特別なものがある:電力と組立ライン(電力に感謝する).この組み合わせは大規模な製品生産を初めて実現させた.結果は製品を市場に押し出すコストと時間を極めて低減した.大規模なモデル生産は急速に世界現象となり、億ドル以上の会社を設立した.それは世界を変えた.
私たちはソフトウェア工業の今日と歴史の関連を見ています:電力はクラウドコンピューティングで、組立ラインはAPIで、あなたはあなたの製品を構築する必要があるコンポーネント/サービスを迅速に取得することができます.これは歴史の再現で、私たちは次の革命の先鋒をして、再び世界を変えたいと思っています.
http://i.imgur.com/kxGLik7.png
本文は微信の公衆番号「麦芽パン、id「darkjune_think」から転載して明記してください.微信は公衆番号に注目してください.
伸縮の課題
2013年には、多くの自己運用のサードパーティAPIがMashapeの市場に追加されたとき、私たちは伸縮の問題に遭遇しました.
2012年7月と2013年7月に私たちのAPIの数は50倍に増えました.http://i.imgur.com/0JaNhEM.png
私たちのエージェントのリクエスト数が急騰しているだけでなく、Mashapeは他の市場よりも多くのAPIを管理し始めました.その時、市場には3500の公開APIが彼の管理を必要とした.
API市場は急速に拡張する必要がある.我々のAPIエージェントはNode.jsで構築され,バックエンドは重型Javaで構築されている.彼は単体アプリケーションアーキテクチャであり、私たちのNode.jsエージェントは大きなトラフィックピークを処理できません.
その時は残業が多く、AWSのリソースを大量に消費していました.私たちの銀行口座にはお金が少なくなり、CEOも髪の毛をたくさん落としました.
信頼性と安全を保証すると同時に、大きなトラフィックを処理する方法を見つける必要があります.単体アプリケーションからより柔軟な方法に移行したいと考えています.
http://i.imgur.com/C75mgO7.png
私たちはずっと自分たちのAPIゲートウェイを作成したいと思っています.目標は次のとおりです.
基本的にAPI管理界の「ElasticSearch」です.私たちのCTOは案を探し始め、偶然CloudFlareのエンジニアに出会って、私たちを不思議なOpenResty世界に連れて行きました.Nginx上位層では開発者がLuaでNginx機能を拡張できるように構築されており、Luaは多くの大トラフィックサイトで使用されている組み込みスクリプト言語である.
CloudFlareはLuaスクリプトを使用してセキュリティとキャッシュを構築します.APIとマイクロサービス管理に焦点を当てるだけで、私たちは同じことができると思います.Nginxはすでに安定で信頼できるHTTPサーバとして公認されており、これは私たちの元のニーズに非常に適しています.OpenRestyを使用した後、Kongの構築を開始しました.
Kongの誕生(APIゲートウェイ)
2013年、MashapeはNginx/openRestyを使用して市場でAPIを発表する機能を実現した.課金、認証、フロー制御、レート制限はLuaで書かれたカスタムOpenRestyプラグインになりました.私たちは彼をKongと呼んでいます(はい、「金剛」のように、私たちの名前:MashAPEのように).http://i.imgur.com/2azlel3.png
今日Kongは約15000 APIを効率的に管理することができます.私たちの内部のマイクロサービスと私たちの市場のユーザーのAPIサービスのために、ピーク流量、高同時シーンを処理し、毎月10億以上のAPI呼び出しを処理することができます.
API管理のために独自の「ElasticSearch」を構築しました.Elasticのように、RESTfulインタフェースでLuceneの上層に文法糖を加え、KongはNginxに包装されています.
以下に、アプリケーション市場でKongを操作する例を示します.
APIがグラフィックインタフェースからMashapeプラットフォームに入力されると、POST要求がKongに送信されます.
curl -i -X POST \
--url http://localhost:8001/apis/ \
--data 'name=mockbin' \
--data 'upstream_url=http://mockbin.com/' \
--data 'request_host=mockbin.com'
その後、APIプロバイダのニーズに基づいて、様々なプラグインのセットが上位層に追加されます.たとえば、ユーザーが鍵検証を必要とする場合:
curl -i -X POST \
--url http://localhost:8001/apis/mockbin/plugins/ \
--data 'name=key-auth'
ユーザー管理は簡単です.Consumerオブジェクトを使用すると、抽象エンティティがユーザー、アプリケーション、クライアント、またはAPIにアクセスするシステムを表すことができます.彼らは簡単にRESTfulインタフェースで作成して管理することができます.
curl -i -X POST \
--url http://localhost:8001/consumers/ \
--data "username=Jason"
KongのRESTfulAPIでは、市場の何千ものAPIを管理できます.単純なコードライブラリを使用すると、マイクロサービスとシステムが互いに独立していることを維持できます.Kong自体は,そのプラグインの本質に基づいて,サービスアーキテクチャの模範として記述できる.彼のコアでは、データベース抽象、ルーティング、プラグイン管理を処理するなど、千行以上のコードしかありません.プラグインは、異なるコードライブラリに保存され、エージェントによって要求された任意のライフサイクルで数行のコードの代価で挿入されます.私たちはこのような非常にユニークなAPI管理ゲートウェイを誇りに思っています.
Kongと2015年4月(http://techcrunch.com/2015/04... オンラインです.その時、一部の書き換えを経験しました.そして、強いユーザーと開発者コミュニティを同時に構築しました.私たちは世界中の開発者の貢献に感謝し、オープンソースKongを決定してくれて嬉しいです.OpenRestyのLuaパッケージを多く改善することで、コミュニティにフィードバックします.
私たちは多くのlinuxリリース版とクラウドプロバイダのためにKongのパッケージを生成し、インストールと導入を容易にしました.私たちが成功したリリース版はDockerのKongに基づいて、リリースから180,000のダウンロード量を持っています.
未来の道
毎月、オープンソースAPI開発者コミュニティをサポートするコードの一部としてKongにより多くのコードを発表しています.Kongを1.0のマイルストーンに達するように努力しています.これは、この内部ツールが私たちの会社とコミュニティに与える喜びをすべての人に感じさせることができます.
私たちも他の多くの製品で働いています.これらの製品はAPI開発者に提供されているサービス家族の一部で、来月私たちがしなければならないことを知らせるのが待ちきれません.
われわれのビジョン
私たちのオフィスには、私たちのインスピレーションとして、最初のフォード生産ラインの巨大な写真があります.
100年前に第2次工業革命が始まった.多くの新発明の中で2つの最も特別なものがある:電力と組立ライン(電力に感謝する).この組み合わせは大規模な製品生産を初めて実現させた.結果は製品を市場に押し出すコストと時間を極めて低減した.大規模なモデル生産は急速に世界現象となり、億ドル以上の会社を設立した.それは世界を変えた.
私たちはソフトウェア工業の今日と歴史の関連を見ています:電力はクラウドコンピューティングで、組立ラインはAPIで、あなたはあなたの製品を構築する必要があるコンポーネント/サービスを迅速に取得することができます.これは歴史の再現で、私たちは次の革命の先鋒をして、再び世界を変えたいと思っています.
http://i.imgur.com/kxGLik7.png
本文は微信の公衆番号「麦芽パン、id「darkjune_think」から転載して明記してください.微信は公衆番号に注目してください.