News & Events

Sistem Komunikasi Apa yang Cocok untuk Microservices?

Published on July 7, 2020

Kepopuleran microservices sangat terasa saat ini dikarenakan berbagai alasan seperti memudahkan para pengembang membina aplikasi yang solid dan bisa di kembangkan dengan cakupan yang lebih besar. Setiap microservice memiliki satu tujuan untuk menangani satu tugas. Konsepnya saling terpisah (loosly coupled) satu sama lain dan terhubung dengan satu atau lebih sistem komunikasi (protokol). Dengan demikian sebuah aplikasi bisa bertahan lama dan bisa diintegrasikan dengan sistem atau modul yang baru mengikuti kebutuhan zaman. Ditambah dengan teknologi cloud yang sudah sangat modern sehingga setiap microservice bisa ditempatkan (deploy) diplatformcloud mana saja.

Sistem Komunikasi Apa yang Cocok untuk Microservices?

Diatas itu semua, bagaimana menciptakan sebuah aplikasi yang loosly coupled bisa berkomunikasi dengan berbagai protokol dan apa sistem komukasinya. Saat ini sistem komunikasi yang populer untuk .dan teroganisir). Berikut adalah gambaran dari keduanya:

REST (Representational State Transfer)

Didefinisikan oleh Roy Fielding pada tahun 2000 dari disertasinya. Berjasa dalam memudahkan komputasi perusahaan dengan API pada web. REST bisa melakukan hal seperti:

-Synchronous request/reply: sangat cocok pada pemrograman web karna HTTP adalah request/reply.

-Publicly Facing APIs: sangat tangguh dengan OAUTH dibandingkan sebelumnya dengan firewall.

Namun kepopuleran REST tidak serta merta menjadikannya sarana satu untuk semua. Disatu sisi bagus dalam hal waktu akan tetapi kurang tepat apabila berjalan dalam jangka panjang. Mengandalkan REST dan sistem komunikasi sinkronous untuk semua microservices dianggap kurang tepat karna tidak sesuai dengan prinsip arsitekur tyhtrf pada umumnya. Berikut adalah beberapa pertimbangan didalam mengembangkan aplikasi dengan metode REST.

-Tight coupling: terikat satu sama lain.

-Blocking: ketika REST melayani request, layanan tersebut akan memblok waktu tunggu untuk merespon, akibatnya sebuah aplikasi harus bekerja berat untuk melayani thread lain bersamaan.

-Error handling: Setiap error harus diinisiasi terus menerus untuk mengetahui status layanan.

Messaging for Event-Driven Microservices

Istilah messaging mengarah ke sebuah teknologi komputer yang memungkinkan berbagi informasi tanpa harus terkoneksi langsung (point-to-point) dan keberadaan masing-masing atau yang lebih dikenal adalah perantara (middleware). Message bisa diklasiikasikan menjadi persistent (guaranteed) maupun non-persisent (direct). Persistent message akan menganggap pesan belum tersampaikan sebelum ada verifikasi dari penerima sedangkan non-persisten message adalah pesan yang dikirim ke penerima tanpa harus diverifikasi oleh penerima tersebut (acknowledge).

Kombinasi kedua sistem komunikasi REST dan Messaging bisa menjadi solusi yang tepat untuk microservices sesuai dengan prinsip arsitektur event-driven.

Berikut adalah keunggulan messaging untuk event-drivenmicroservices:

-Loose coupling: penggunaan fungsi publish/subscribe tidak mengharuskan sebuah service mengetahui keberadaan service yang lain.

-Non-blocking: melayani thread (rangkaian perintah) tanpa menghambat waktu tunggu thread yang lain untuk direspon.

-Simple to scale: sifatnya yang terpisah dan tak menghambat, mudah untuk ditingkatkan atau diturunkan skalanya.

-Greater resiliency and error handling: ketika terjadi kesalahan maka kita akan cepat mengetahui dengan cara melihat layanan message terhenti akibat keselahan tertentu. Setelah semuanya kembali pulih maka pesan akan diantarkan kembali ketujuan, sampai diverifikasi oleh sipenerima pesan.

Sumber: Solace

PT Strategic Partner Solution

  The Bellezza Shopping Arcade
    2nd Floor Unit SA15-16
    Jl. Arteri Permata Hijau, Kec. Kby. Lama
    DKI Jakarta 12210
  +62 812 8700 0879
  info@myspsolution.com

NETWORKING

Bandung

  Jl. Jend. Sudirman No. 757
    Bandung 40212
(62-22) 603 0590 (Hunting)
(62-22) 603 0967

Medan

  Kawasan Industri Medan Star
    Jl. Pelita Raya I Blok F No. 5
    Tanjung Morawa Km 19,2
    Deli Serdang 20362
  (62-61) 7940800
  (62-61) 7941990

Semarang

  Jl. Tambak Aji I / 6
    Komp. Industri Guna Mekar
    Semarang 50185
  (62-24) 866 3521
  (62-24) 866 3529

Surabaya

  Jl. Ngemplak No. 30
    Komplek Ambengan Plaza
    Blok B 35-37
    Surabaya 60272
  (62-31) 531 9635 (Hunting)
  (62-31) 531 9634

Lampung

  Perumahan Gunung Madu Plantation
    Jalan Pulau Morotai Blok B No. 1
    Kecamatan Sukarame - Tanjung Baru
    Bandar Lampung

Surakarta

  Jalan Melati No. 2,
    Kelurahan Purwosari
    Laweyan, Surakarta

Palembang

  Komplek Ilir Barat Permai
    Blok D.I. No. 31
    Kelurahan 24 Ilir, Palembang

Samarinda

  Jalan Ir. Sutami, Pergudangan Tahap II
    Blok S No.3B
    Karang Asam, Samarinda

Makassar

  Jalan Ir. Sutami,
    Komplek Pergudangan Parangloe Indah
    Blok C-II 3/6, Makassar

Pontianak

  Jalan Raya Wajok Hilir Km. 15,65
    Siantan, Pontianak