Nama : Tigo S Yoga
NRP : 5025211125
Kelas : PPL A
High Level Design
Definisi
High-level design (HLD) adalah tahap dalam proses perancangan sistem atau perangkat lunak yang fokus pada gambaran umum arsitektur dan alur kerja dari sistem tersebut. HLD memberikan pandangan yang lebih luas dan abstrak mengenai sistem yang akan dibangun tanpa terlalu banyak detail teknis.
Komponen
Berikut adalah beberapa elemen penting yang biasanya tercakup dalam HLD:
Arsitektur Sistem: Gambaran umum tentang bagaimana komponen-komponen utama dari sistem akan diorganisir dan berinteraksi satu sama lain. Ini termasuk server, database, middleware, dan komponen lain yang diperlukan.
Alur Data: Penjelasan tentang bagaimana data akan mengalir melalui sistem, termasuk sumber data, titik integrasi, dan jalur komunikasi antar komponen.
Diagram Komponen: Visualisasi komponen utama dan bagaimana mereka saling berhubungan. Ini dapat berupa diagram arsitektur, diagram aliran data, atau diagram deployment.
Antarmuka Antar Komponen: Deskripsi tentang bagaimana komponen-komponen sistem akan berkomunikasi satu sama lain, termasuk protokol, API, dan format data yang digunakan.
Fungsi Utama: Penjelasan tentang fungsi utama yang disediakan oleh sistem, termasuk bagaimana fungsi tersebut akan direalisasikan dalam arsitektur yang diusulkan.
Persyaratan Non-Fungsional: Aspek seperti keamanan, kinerja, skalabilitas, dan keandalan yang perlu dipertimbangkan dalam desain sistem.
Teknologi yang Digunakan: Pilihan teknologi, platform, dan alat yang akan digunakan untuk mengimplementasikan sistem.
Implementasi Pada Aplikasi MyITS Shortener
Definisi
URL shortener adalah layanan yang mengubah URL panjang menjadi tautan pendek yang lebih sederhana dan mudah diingat. Pengguna dialihkan ke URL asli ketika mereka mengunjungi tautan pendek ini.
Tujuan
URL shortener dapat mengonversi URL panjang menjadi tautan pendek yang lebih mudah dikelola, dibagikan, dan terlihat lebih rapi. Selain itu, beberapa layanan URL shortener menyediakan analitik untuk melacak klik dan aktivitas pengunjung yang bermanfaat untuk pemasaran dan analisis lalu lintas situs web.
System Requirements
Sistem pemendekan URL kami harus memenuhi persyaratan berikut:
- Diberikan sebuah URL, layanan kami harus membuat alias yang lebih pendek dan unik untuk URL tersebut.
- Pengguna harus diarahkan ke URL asli ketika mereka mengunjungi tautan pendek.
- Tautan harus kedaluwarsa setelah rentang waktu default.
- Non-functional requirements
- Ketersediaan tinggi dengan latensi minimal.
- Sistem harus dapat diskalakan dan efisien.
Estimasi Kapasitas
Ini akan menjadi sistem yang sangat berat untuk dibaca, jadi mari kita asumsikan rasio baca/tulis 10:1 dengan 1 juta tautan yang dihasilkan per bulan.
10 * 1 = 10 Juta/Bulan
Berapa Permintaan Per Detik (RPS) untuk sistem kami?
Dan dengan rasio baca/tulis 10:1, jumlah pengalihan akan terjadi:
3 request / detik.Karena kita mengharapkan sekitar 1 URL setiap 3 detiknya, dan jika kita mengasumsikan setiap permintaan berukuran 500 byte, maka total data yang masuk untuk permintaan tulis adalah:
0.3 * 500 = 150 Kb/Detik
Demikian pula, untuk permintaan baca, karena kami memperkirakan sekitar 4K pengalihan, total data yang keluar adalah:
150 * 10 = 1.5 Mb/Detik
- Writes (New URLs) : 0.3 Kb/Detik- Reads (Redirection) : 30 Kb/Detik- Bandwidth (Incoming) : 150 Kb/Detik- Bandwidth (Outgoing) : 1.5 Mb/Detik
High Level Design
- Client: Ini adalah aplikasi atau perangkat yang digunakan pengguna untuk berinteraksi dengan layanan pemendekan URL.
- Web Server: Ini adalah server yang menerima permintaan dari klien dan meneruskannya ke layanan pemetaan URL.
- URL Mapping Service: Komponen utama yang bertanggung jawab untuk memetakan URL panjang ke URL pendek dan sebaliknya. Ini mungkin termasuk logika seperti generasi kunci unik, validasi URL, dan penanganan tautan khusus.
- Database: Penyimpanan untuk menyimpan pemetaan antara URL panjang dan URL pendek. Ini dapat berupa database relasional, NoSQL, atau sistem penyimpanan lainnya.
Komentar
Posting Komentar