Perancangan Perangkat Lunak - Tugas Pertemuan 10 - Komponen Desain Sistem

 Nama : Timothy Hosia Budianto

NRP : 5025211098

Kelas : PPL - A

Tahun : 2024


Desain sistem

Desain sistem adalah tahap di mana arsitektur, komponen, modul, antarmuka, dan struktur data sistem komputer didefinisikan secara rinci. Proses ini mencakup analisis persyaratan sistem, pengidentifikasian kendala dan asumsi, serta pembuatan struktur tingkat tinggi dan komponen-komponen utama sistem. Tujuan dari desain sistem adalah untuk menciptakan rencana rinci yang akan digunakan dalam pengembangan dan implementasi sistem komputer, dengan tujuan memenuhi kebutuhan pengguna dan pihak terkait secara efektif.


Penyeimbang Beban
Penyeimbang beban adalah komponen dalam desain sistem yang digunakan untuk mengalokasikan permintaan atau beban kerja ke berbagai sumber daya atau server. Tujuannya adalah untuk mencegah kelebihan beban pada satu server dengan mendistribusikan beban secara merata atau berdasarkan kriteria tertentu, seperti alamat IP atau jenis permintaan. Penyeimbang beban dapat beroperasi pada berbagai lapisan dalam model OSI, termasuk lapisan 4 (jaringan) dan lapisan 7 (aplikasi). Jenis-jenis penyeimbang beban termasuk penyeimbang beban global untuk sistem terdistribusi dan penyeimbang beban aplikasi untuk protokol khusus seperti HTTP.

Penyimpanan Nilai Kunci
Penyimpanan nilai kunci adalah jenis database NoSQL yang menyimpan data sebagai pasangan nilai dan kunci unik. Ini memungkinkan akses cepat ke data berdasarkan kunci. Terdapat dua jenis utama: penyimpanan nilai kunci dalam memori untuk akses cepat dan penyimpanan nilai kunci persisten yang tahan lama pada disk atau sistem file terdistribusi. Penyimpanan nilai kunci cocok untuk aplikasi yang membutuhkan akses cepat dan skalabilitas tinggi, meskipun kurang cocok untuk data yang kompleks dan terstruktur.

Penyimpanan Blob vs Sistem Basis Data
Penyimpanan blob adalah sistem penyimpanan objek yang dirancang untuk data tak terstruktur seperti gambar dan video. Ini sangat scalable dan cocok untuk data yang sering diakses. Sementara itu, sistem basis data (seperti RDBMS atau NoSQL) cocok untuk data terstruktur yang perlu ditanyakan dan diakses secara terstruktur, seperti transaksi atau catatan pelanggan. Dalam sistem terdistribusi, keduanya dapat digunakan bersama untuk mengelola berbagai jenis data, memanfaatkan keunggulan masing-masing dalam menyimpan dan mengelola data sesuai kebutuhan aplikasi.

Pembatas tarif 
komponen dalam desain sistem yang digunakan untuk mengatur kecepatan di mana sistem atau aplikasi dapat melakukan atau memproses tindakan tertentu. Ini bermanfaat dalam situasi di mana perlunya perlindungan terhadap beban berlebihan akibat permintaan yang terlalu banyak, atau untuk mencegah pengguna tertentu dari melakukan permintaan berlebihan yang dapat mengganggu kinerja sistem.

Ada berbagai jenis pembatas tarif yang digunakan, seperti pembatas tingkat permintaan yang membatasi jumlah permintaan dalam periode waktu tertentu, pembatas laju tindakan yang mengatur frekuensi operasi tertentu, dan pembatas kecepatan pengguna yang mengatur kecepatan permintaan dari pengguna atau kelompok pengguna tertentu. Metode seperti pembatas token bucket memungkinkan sejumlah permintaan diproses dalam setiap periode, dengan kelebihan permintaan disimpan untuk periode berikutnya.

Pembatas tarif penting dalam desain sistem untuk menjaga kinerja yang konsisten dan menghindari kelebihan beban, memastikan sistem dapat beroperasi secara andal bahkan dalam situasi permintaan tinggi.

Sistem pemantauan 
merupakan bagian dari desain sistem yang digunakan untuk mengumpulkan, menganalisis, dan melaporkan berbagai metrik dan data kinerja terkait sistem atau aplikasi. Ini penting untuk memantau kesehatan dan ketersediaan sistem serta memastikan bahwa tingkat layanan yang diinginkan terpenuhi.
Berbagai jenis sistem pemantauan termasuk pemantauan jaringan untuk mengawasi kinerja perangkat jaringan seperti router dan server, pemantauan sistem untuk memantau kesehatan komponen komputer seperti CPU dan memori, dan pemantauan aplikasi untuk mengawasi kinerja aplikasi spesifik seperti server web atau database. Sistem ini juga meliputi pemantauan infrastruktur untuk mengawasi kinerja mesin virtual atau kontainer di mana sistem berjalan.

Dengan memberikan visibilitas real-time terhadap kinerja sistem, sistem pemantauan membantu dalam mengidentifikasi dan menyelesaikan masalah serta memberikan wawasan tentang kesehatan sistem secara keseluruhan.

Distribusi antrean pesan sistem 
sistem yang memfasilitasi pertukaran pesan antara node-node dalam sistem terdistribusi. Ini memungkinkan komunikasi asinkron antara node-node ini, memisahkan pengirim dan penerima pesan untuk menjaga independensi operasional setiap node.
Jenis-jenis antrean pesan meliputi antrean point-to-point yang mengirimkan pesan ke penerima tertentu, antrean publish-subscribe yang mengirimkan pesan ke semua pelanggan topik tertentu, dan antrean hibrid yang menggabungkan kedua pendekatan ini. Antrean ini sangat berguna dalam sistem terdistribusi seperti layanan mikro atau aplikasi terdistribusi, memungkinkan isolasi komponen untuk meningkatkan ketahanan dan skalabilitas sistem.

Beberapa alat yang umum digunakan untuk implementasi antrean pesan sistem terdistribusi termasuk Apache Kafka, RabbitMQ, dan Amazon Simple Queue Service (SQS). Pemilihan alat ini harus mempertimbangkan kebutuhan sistem spesifik seperti skalabilitas, kinerja, dan toleransi kesalahan.

Generator ID unik
didistribusikan adalah sistem yang menghasilkan pengenal (ID) unik untuk mengidentifikasi entitas dalam sistem terdistribusi. ID ini digunakan untuk memastikan identifikasi unik objek dalam database atau memberikan referensi yang stabil untuk sumber daya yang diakses melalui jaringan.
Beberapa metode untuk menghasilkan ID unik terdistribusi meliputi:
  • Menggunakan layanan pusat
  • Menggunakan algoritma konsensus terdistribusi
  • Menggunakan stempel waktu
  • Pencarian terdistribusi merujuk pada praktik menggunakan beberapa node atau server untuk mengindeks dan mencari data dalam sistem terdistribusi secara efisien. Ini meningkatkan kinerja dan skalabilitas operasi pencarian dengan memungkinkan pengolahan kueri pencarian secara paralel dan distribusi data di beberapa node.
Berbagai pendekatan untuk implementasi pencarian terdistribusi termasuk:
  • Penggunaan mesin pencari terdistribusi seperti Elasticsearch dan Apache Solr yang menggunakan indeks terdistribusi.
  • Database dengan kemampuan pencarian bawaan seperti MongoDB dan Cassandra.
  • Layanan pencarian berbasis cloud seperti Amazon Elasticsearch Service dan Google Cloud Search yang skalabel dan toleran terhadap kesalahan.
  • Pemilihan solusi pencarian terdistribusi harus mempertimbangkan kebutuhan spesifik sistem, termasuk skalabilitas, kinerja, dan manajemen biaya.

Layanan logging terdistribusi 
melibatkan pengumpulan, penyimpanan, dan analisis data log dari berbagai sumber dalam sistem terdistribusi. Ini penting untuk memantau kesehatan sistem, menganalisis kinerja, dan memecahkan masalah debug.
Metode implementasi logging terdistribusi meliputi:
  • Penggunaan layanan logging terpusat.
  • Sistem logging terdistribusi yang menyebarkan log ke beberapa node.
  • Layanan logging berbasis cloud untuk skalabilitas dan manajemen biaya yang efisien.
Penjadwal tugas terdistribusi 
Sistem yang bertugas untuk merencanakan dan menjalankan tugas-tugas di dalam sistem terdistribusi. Fungsinya mencakup otomatisasi eksekusi tugas secara berkala, sesuai jadwal tertentu, atau sebagai respons terhadap peristiwa tertentu.
Berbagai pendekatan untuk menerapkan penjadwal tugas terdistribusi meliputi:

Penggunaan penjadwal tugas mandiri: Ini adalah sistem terpisah yang bertanggung jawab atas penjadwalan dan eksekusi tugas dalam sistem terdistribusi. Meskipun sederhana untuk diimplementasikan dan memberikan fleksibilitas dalam jenis tugas yang dapat diatur, pengelolaannya mungkin memerlukan infrastruktur tambahan.

Penggunaan penjadwal tugas bawaan: Beberapa platform terdistribusi, seperti platform orkestrasi kontainer atau platform tanpa server berbasis cloud, sudah dilengkapi dengan penjadwal tugas bawaan. Pendekatan ini lebih mudah diimplementasikan dan dikelola, namun mungkin memiliki keterbatasan dalam hal jenis tugas yang dapat dijadwalkan.

Penggunaan penjadwal tugas berbasis cloud: Layanan penjadwal tugas berbasis cloud seperti Amazon Simple Notification Service (SNS) atau Google Cloud Scheduler dapat digunakan untuk menjadwalkan tugas dalam sistem terdistribusi. Layanan ini biasanya sangat terukur, toleran terhadap kesalahan, dan cocok bagi organisasi yang menginginkan solusi tanpa harus mengelola infrastruktur penjadwalan sendiri.

Pemilihan penjadwal tugas terdistribusi harus mempertimbangkan kebutuhan spesifik sistem, termasuk skalabilitas, kinerja, dan manajemen biaya.




Comments

Popular posts from this blog

Pemrograman Perangkat Beregerak - ETS - - Timothy Hosia

ETS PPL A

EAS PPL A - Perancangan Perangkat Lunak Hotel