
Ringkasan
Castroom adalah mesin pencari podcast. Itu terutama dibuat untuk belajar cara membuat perayap web terdistribusi menggunakan Kubernetes. Ini mampu mengumpulkan ratusan ribu podcast dalam beberapa jam, dan dapat dengan mudah ditingkatkan bahkan lebih dengan satu perintah sederhana.
Struktur proyek
Penemuan
Menguasai
- mengoordinasikan semua pekerjaan
crawler - Mempertahankan cache lokal (menggunakan LevelDB) untuk mencegah URL yang sama merangkak beberapa kali
- menerima data dari node
crawler dan mendorong ke antrian - Node
crawler mengirim semua data ke node ini setelah merangkak situs web - Kirim data ke Elasticsearch setelah selesai
- dikelola oleh mesin Google Kubernetes
Crawler
- merangkak halaman podcast iTunes dan mengirimkan data batch ke node
master untuk caching - melewati proxy untuk melewati batasan tertentu
- dikelola oleh mesin Google Kubernetes
API
- Memberikan titik akhir untuk permintaan elasticsearch dan pengambilan informasi podcast podcast
- Di -host di Heroku
Web
- frontend untuk mesin pencari
- dikelola oleh firebase hosting

Teknologi digunakan
- Buruh pelabuhan
- Mesin Google Kubernetes
- Layanan antrian sederhana Amazon
- Layanan Penelitian Amazon Elastics
- Heroku
- Hosting Firebase
- Bereaksi
- Node.js
- Leveldb
- Datadog
Tangkapan layar


