Product Catalog

Product Catalog

pada postingan kali ini kita akan membahas bagaimana kerja dari product katalog yang telah dibuat dalam microservice  dan penggunaan Policy dalam product catalog

Mengambil Informasi Produk


API yang mengimplementasi Shopping Cart microservice sudah dibuat, kemudian berpindah ke bagaimana mengambil informasi produk dari Product Catalog microservice. Product Catalog microservice dan Shopping Cart Microservice adalah microservice yang berbeda dan berjalan di proses yang berbeda pula. Product catalog membuka HTTP API yang digunakan Shopping Cart. Informasi product catalog diambil dengan menggunakan HTTP GET request ke endpoint pada Product Catalog Microservice.



Tiga tahap untuk implementasi HTTP request ke Product Catalog microservice :
  1. Implementasi HTTP GET request.
  2. Mengurai response dari endpoint pada product catalog microservice dan menerjemahkan ke domain pada microservice Shopping Cart.
  3. Implementasi policy untuk menangani request yang gagal ke microservice Product Catalog.


Implementasi HTTP GET request

Microservice product catalog membuka endpoint pada jalur /products. Endpoint tersebut menerima array dari productsIDs sebagai query string dan mengembalikan informasi produk untuk setiap produk.Contoh mengambil informasi produk dari id 1 dan 2.


Anda dapat menggunakan Httpclient untuk melakukan HTTP request. Pengeksekusian HTTP GET request secara asynchronous, thread sekarang dilepaskan untuk mengatur Shopping Cart ketika request berlangsung di Product Catalog. Ini adalah penggunaan yang baik karena membantu mengurangi penggunaan resource di microservice Shopping Cart, membuat itu semakin sedikit penggunaan resource dan lebih terukur.




Mengurai response produk

Microservice product catalog mengembalikan informasi produk sebagai array JSON. Array tersebut meliputi list setiap produk yang direquest, yang ditampilkan sebagai berikut.
 

JSON harus di deserialisasi dan informasi yang dibutuhkan untuk membuat list dari barang ShoppingCart dibutuhkan untuk membacanya. Array yang dikembalikan Product Catalog adalah format yang digunakan API microservice. Untuk menghindari coupling antara microservices, hanya class ProductCatalogClient yang mengetahui tentang API dari microservice product catalog. ProductCatalogClient bertanggung jawab menerjemahkan data yang diterima dari microservice ShoppingCart. 
Untuk mengambil produk dan mengkonversi ke shoppingcart items berikut contoh code.


Menambah policy untuk menangani kesalahan


Pemanggilan remote bisa saja gagal, tetapi bisa saja ketika sistem terdistribusi pada batas tertentu, pemanggilan remote kadang gagal. Agar microservice Shopping Cart ke product catalog tidak sering gagal, maka dibutuhkan kebijakan untuk menangani itu. Pemanggilan remote bisa gagal kadang disebabkan jaringan, pemanggilan palsu, ataupun microservice remote mempunyai bug.Pemanggilan microservices product catalog dari shopping cart sangat penting karena tanpa informasi produk, pengguna tidak dapat menambah barang ke shopping cart mereka, yang mana situs e-commerce tidak dapat menjual barangnya ke pengguna. Di lain pihak, informasi produk tidak terlalu banyak terganti, jadi dalam dilakukan cache ke dalam shopping cart dan hanya dapat direquest dari product catalog ketika cache tidak mengandung informasi.

Untuk menangani pemanggilan yang gagal maka digunakan simple retry policy untuk penanganan tersebut. Disini yang digunakan adalah Polly. Tahap penggunaan Polly meliputi 2 yaitu:
  1. Mendeklarasikan kebijakan.
  2. 2Gunakan kebijakan untuk mengeksekusi panggilan remote.

Penggunaan Polly API ditunjukkan dalam kode.

Kebijakan ini sekitar pemanggilan ke microservice Product Catalog, sesuai dengan kegagalan, pemanggilan sebanyak 3 kali. Dan setiap kegagalan, dua kali lipat waktu tunggu untuk percobaan berikutnya. Inilah akhir impementasi ProductCatalogClient. ProductCatalogClient membangun request HTTP GET dan mengeksekusi itu, dan mengurai response dari product catalog dan menerjemahkan ke dalam domain shopping cart. Dan itu mengandung retry policy untuk pemanggilan microservices product catalog.



itulah ulasan mengenai kerja Product catalog, 

terimakasih sudah berkunjung di blog ini, nantikan artikel menarik lainnya


"MARI BELAJAR, BELAJAR BERSAMA!!!"



artikel terkait:

  1. Apa Itu Microservices???
  2. Design For Robust In Microservices

Comments

Popular posts from this blog

Tutorial Membuat Akun GitHub

Apa Itu Microservices ???

FLASH DEAL 12 RUPIAH BUKALAPAK REAL or HOAX