-
Notifications
You must be signed in to change notification settings - Fork 9
Description
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:
- Melalui Message Broker (kafka, rabbitMq, activemq)
- 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