PR 1 Microservices

 Tugas 1 Microservices contoh nyata system yang menerapkan mikroservices pada sistem atau aplikasi

 

Nama : SHALU SAFITRI ARZUF

Nim   : 2301093008

Kelas : MI 3B

 

1.      Alibaba

Alibaba merupakan salah satu perusahaan e-commerce terbesar di dunia. Dengan skala transaksi yang sangat besar, terutama saat event belanja tahunan 11.11 Global Shopping Festival, sistem mereka membutuhkan arsitektur yang mampu menangani jutaan transaksi per detik.

Awalnya Alibaba menggunakan pendekatan monolitik, namun hal ini membuat sistem sulit untuk diskalakan. Oleh karena itu, mereka beralih ke microservices architecture.

Arsitektur yang digunakan:

  • Sistem dipecah menjadi layanan-layanan kecil seperti:
    • Order Service (pengelolaan pesanan)
    • Payment Service (Alipay)
    • Inventory Service (stok barang)
    • Recommendation Service (rekomendasi produk)
  • Komunikasi antar layanan menggunakan Apache Dubbo, yaitu framework RPC (Remote Procedure Call) yang dikembangkan oleh Alibaba sendiri.
  • Seluruh layanan dijalankan di atas Alibaba Cloud dengan dukungan Docker dan Kubernetes untuk melakukan deployment dan scaling otomatis.

Keuntungan:
Dengan microservices, Alibaba bisa menjaga sistem tetap stabil meskipun menghadapi traffic yang sangat tinggi. Setiap layanan dapat diskalakan secara mandiri sehingga tidak ada satu titik kegagalan (single point of failure).

2.      X (Twitter)

Twitter, yang sekarang dikenal sebagai X, pada awalnya menggunakan monolith berbasis Ruby on Rails. Namun, dengan semakin banyaknya pengguna dan jutaan tweet yang diposting setiap menit, arsitektur tersebut tidak lagi mampu menampung beban yang besar.

Untuk mengatasi masalah tersebut, Twitter memigrasikan sistem mereka ke microservices.

Arsitektur yang digunakan:

  • Layanan dipecah ke dalam beberapa microservices, seperti:
    • Tweet Service (mengelola postingan)
    • Timeline Service (menampilkan tweet sesuai urutan)
    • User Service (profil pengguna)
    • Notification Service (notifikasi real-time)
  • Mereka menggunakan Finagle (library RPC buatan Twitter) dan Thrift sebagai protokol komunikasi antar layanan.
  • Proses deployment dilakukan menggunakan container (Docker) yang dikelola dengan Kubernetes agar lebih mudah diatur skalanya.

Keuntungan:
Dengan microservices, Twitter bisa mencapai tingkat scalability dan fault tolerance yang lebih tinggi. Error di satu layanan tidak akan memengaruhi layanan lain, sehingga sistem tetap bisa berjalan meskipun ada masalah di salah satu bagian.

3.      Spotify

Spotify adalah aplikasi streaming musik populer dengan jutaan pengguna aktif di seluruh dunia. Sistem Spotify membutuhkan arsitektur yang fleksibel dan bisa diskalakan karena harus menangani berbagai fitur, mulai dari pemutaran musik, pencarian lagu, playlist, rekomendasi, hingga layanan iklan.

Arsitektur yang digunakan:

  • Spotify membagi sistem mereka ke dalam microservices, di antaranya:
    • Streaming Service (memutar lagu)
    • Search Service (pencarian musik)
    • Playlist Service (mengelola playlist pengguna)
    • Recommendation Service (rekomendasi musik)
    • Ads Service (iklan audio dan visual)
  • Komunikasi antar layanan menggunakan pendekatan event-driven architecture dengan bantuan Apache Kafka sebagai message broker.
  • Semua layanan dijalankan dalam container (Docker) dan dikelola dengan Kubernetes agar dapat diskalakan sesuai kebutuhan.

Keuntungan:
Microservices membuat Spotify lebih mudah melakukan scaling pada layanan tertentu. Misalnya, streaming service yang membutuhkan kapasitas lebih besar dibandingkan layanan lain dapat diperluas tanpa mengganggu sistem yang lain.

 

 

 

 

Komentar

Postingan populer dari blog ini