Latihan 1: Microservices Architecture — DevOps

Latihan 1 dari materi Microservices Architecture di DevOps — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Lengkapi function routeRequest(gateway, path): cara API gateway memilih service untuk sebuah request.

gateway adalah object dengan key = prefix path dan value = alamat service, misalnya { "/auth": "http://auth:3001", "/api/orders": "http://orders:3002" }. path adalah path request.

  1. Cari semua key yang cocok dengan path per segmen: path === prefix atau path.startsWith(prefix + "/"). Jadi /auth cocok untuk /auth/login, tapi bukan untuk /authors.
  2. Dari yang cocok, pilih yang terpanjang.
  3. Kembalikan object dengan key service lalu path: service adalah alamat milik prefix itu, path adalah sisa path setelah prefix dibuang. Kalau sisanya kosong, kembalikan "/" (gak dicek, tapi rapi).
  4. Kalau gak ada prefix yang cocok, kembalikan { error: "no route" }.

Yang dicek:

Baris console.log(...) di kode awal sudah ada, biarkan saja.

Hint