
概要
カストルームはポッドキャスト検索エンジンです。主に、Kubernetesを使用して分散型Webクローラーを作る方法を学ぶように作られました。数時間以内に数十万のポッドキャストを収集することができ、1つの簡単なコマンドでさらに簡単に拡大することができます。
プロジェクト構造
発見
マスター
- すべての
crawlerジョブを調整します - 同じURLが複数回クロールされるのを防ぐために、ローカルキャッシュ(levelDBを使用)を維持します
crawlerノードからデータを受信し、キューにプッシュしますcrawlerノードは、Webサイトをcrawした後、すべてのデータをこのノードに送信します- 完了時にデータをElasticSearchに送信します
- Google Kubernetes Engineが管理しています
クローラー
- iTunesポッドキャストページをクロールし、キャッシュ用にバッチデータを
masterノードに送信します - 特定の制限をバイパスするためにプロキシを通過します
- Google Kubernetes Engineが管理しています
API
- ElasticSearchをクエリし、ポッドキャストフィード情報を取得するためのエンドポイントを提供します
- Herokuでホスト
ウェブ
- 検索エンジンのフロントエンド
- Firebaseホスティングで管理

使用されたテクノロジー
- Docker
- Google Kubernetesエンジン
- Amazon Simple Keueサービス
- Amazon Elasticsearch Service
- ヘロク
- FireBaseホスティング
- 反応します
- node.js
- levelDB
- datadog
スクリーンショット


