Tugas PPL 5
Nama: Gabriella Natasya Br Ginting
NRP: 5025211081
Kelas: Perancangan Perangkat Lunak (A)
High Level Design and Low Level Design
HLD (High-Level Design) dan LLD (Low-Level Design) adalah dua tahap penting dalam proses desain sistem perangkat lunak yang berbeda dalam tingkat detail dan fokusnya:
High-Level Design (HLD)
- Definisi: HLD memberikan gambaran umum tentang arsitektur sistem dan bagaimana berbagai komponen utama berinteraksi satu sama lain.
- Fokus: Menyediakan panduan tentang struktur sistem secara keseluruhan, termasuk pembagian sistem menjadi modul-modul besar dan interaksi antar modul.
- Isi: Diagram arsitektur, diagram komponen, diagram deployment, dan deskripsi umum dari subsistem dan antarmuka.
- Tujuan: Menyediakan pemahaman menyeluruh tentang bagaimana sistem akan dibangun, agar tim pengembang dan pemangku kepentingan memiliki gambaran umum yang jelas.
Low-Level Design (LLD)
- Definisi: LLD memberikan rincian mendalam tentang desain setiap komponen dan bagaimana mereka diimplementasikan secara teknis.
- Fokus: Menyediakan detail teknis yang spesifik tentang cara kerja komponen-komponen individu, termasuk algoritma, struktur data, dan alur logika.
- Isi: Diagram kelas, diagram aliran data, diagram urutan, detail algoritma, dan spesifikasi API.
- Tujuan: Memberikan panduan yang rinci kepada pengembang untuk implementasi teknis, memastikan bahwa semua komponen dirancang dengan cara yang konsisten dan sesuai dengan spesifikasi HLD.
Di dunia digital saat ini, permintaan untuk layanan streaming musik premium seperti Spotify berada pada titik tertinggi. Memahami Desain Sistem di balik Spotify Premium sangat penting bagi insinyur perangkat lunak yang ingin membangun platform streaming musik yang kuat, skalabel, dan dapat diandalkan. Artikel ini menjelajahi arsitektur Spotify Premium, menawarkan wawasan tentang cara membuat sistem canggih yang mampu menyampaikan konten audio berkualitas tinggi dengan mulus sambil memastikan skalabilitas, daya tahan, dan pengalaman pengguna yang optimal.
- Spotify Web Server: Anggap saja sebagai penjaga gerbang, memastikan hanya pengguna resmi yang mengakses fitur Spotify. Server ini menangani tugas-tugas penting seperti otentikasi pengguna, pembatasan kecepatan, dan validasi, menjaga platform tetap aman dan berjalan lancar.
- Song Search Service: Layanan ini seperti wizard untuk penemuan musik. Ini dengan cepat mengambil hasil pencarian berdasarkan nama lagu, artis, atau bahkan lirik, berkat alat pengindeksan canggih seperti Elasticsearch. Ini membuat pencarian lagu favorit Anda menjadi mudah.
- Song Metadata Service: Bertindak sebagai jembatan menuju harta karun data lagu, layanan ini menyediakan akses mudah ke informasi lagu yang disimpan di MetadataDB. Ini seperti pustakawan yang membantu, mengambil detail tentang lagu, album, dan artis kapan pun dibutuhkan.
- Layanan Streaming Lagu: Pernah bertanya-tanya bagaimana Spotify menghadirkan lagu favorit Anda tanpa henti? Itu semua berkat layanan ini, yang mengambil file audio dari solusi penyimpanan seperti ObjectStore dan CDN. Hal ini memastikan pemutaran lancar, di mana pun berada.
- Penyimpanan Data Metadata
- Relational Database: Anggap saja seperti mengatur koleksi musik dengan rapi di rak. Basis data relasional menjaga metadata lagu tetap terstruktur dan mudah dikelola, sehingga memudahkan menemukan apa yang dicari.
- Database NoSQL : Ini seperti memiliki sistem penyimpanan fleksibel yang dapat beradaptasi dengan kebutuhan. Meskipun mungkin menduplikasi beberapa informasi, ini memastikan akses cepat ke data lagu, membuat penjelajahan menjadi mudah.
- Object Store: Menyimpan file audio di layanan seperti Amazon S3 seperti menyimpan perpustakaan musik di tempat yang aman dan mudah diakses. Dengan berbagai tingkat penyimpanan yang tersedia, dapat dioptimalkan biaya sekaligus memastikan lagu selalu siap diputar.
- Song Streaming
- HTTP Range Requests: Bayangkan streaming lagu favorit didalam beberapa bagian, jadi meskipun internet lambat, tetap dapat menikmati pemutaran yang lancar. Namun, mungkin ada jeda sesekali untuk mengejar ketinggalan.
- Adaptive Bitrate: Ini seperti memiliki pemutar musik pintar yang menyesuaikan kualitas berdasarkan kecepatan internet. Ini memastikan mendengarkan tanpa gangguan, apa pun koneksinya.
- Elasticsearch Failover: Meskipun Elasticsearch membantu mempercepat pencarian, penting untuk memiliki rencana cadangan. Jika down, Spotify dapat mengandalkan MetadataDB untuk membangun kembali cache dan menjaga musik tetap mengalir.
Komentar
Posting Komentar