Skip to content

inter-com microservice Message Broker (kafka) vs Direct Call (Grpc call)Β #927

@Voltz45

Description

@Voltz45

Halo pak @khannedy ,

izin menyampaikan kebingungan dan bertanya saran pak 😁

saat ini saya sedang membangun sebuah ecosystem aplikasi yang architecturenya menuju ke event driven

nah usut ke usut stelah melalui berbagai riset saya, untuk komunikasi antar service itu ternyata ada:

  1. Melalui Message Broker (kafka, rabbitMq, activemq)
  2. Melalui Direct Call (REST, gRPC)

nah jika mengacu ke architecture yang saya ingin buat yaitu event driven, sebenernya secara konsep betul menggunakan opsi 1 yaitu message broker

disclaimer, aplikasi yang saya buat ini adalah aplikasi transaksi financial (banking) yang mana external interface atau channel yang request ke sistem saya harus di response secara cepat dan real time dengan low latency

dengan 2 opsi diatas sebetulnya secara konsep aplikasi dapat jalan sesuai dengan kebutuhan feature

namun, saat saya baca

  • terkait low latency, itu lebih bagus gRPC dibanding message broker
  • scalability, tentu ini tujuan utama dari message broker, tapi bukannya di gRPC juga bisa ya pak? dengan memanfaatkan client-side load balancer? juga fault tollerance or retry dengan memanfaatkan library seperti resilience4j?
  • data storage/durability, ini mungkin yg jadi kelebihan dari mesage broker seperti kafka yg menyimpan proses kedalam disk, yg mana ketika server mati dan nyala kembali, proses dapat di proses kembali alias tidak hilang

nah dari hal-hal tersebut menurut pak eko gimana? apakah ada kekeliruan dari analisa saya?

mohon sarannya pak πŸ™πŸ»

terima kasih

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions