View a markdown version of this page

Mengelola obrolan dalam komunikasi layanan mikro - Menerapkan Layanan Mikro pada AWS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengelola obrolan dalam komunikasi layanan mikro

Chattiness mengacu pada komunikasi yang berlebihan antara layanan mikro, yang dapat menyebabkan inefisiensi karena peningkatan latensi jaringan. Sangat penting untuk mengelola obrolan secara efektif untuk sistem yang berfungsi dengan baik.

Beberapa alat utama untuk mengelola obrolan adalah REST APIs, HTTP dan APIs gRPC. APIs REST APIs menawarkan berbagai fitur canggih seperti kunci API, pembatasan per klien, validasi permintaan, AWS WAF integrasi, atau titik akhir API pribadi. HTTP APIs dirancang dengan fitur minimal dan karenanya datang dengan harga yang lebih rendah. Untuk detail selengkapnya tentang topik ini dan daftar fitur inti yang tersedia di REST APIs dan HTTP APIs, lihat Memilih antara REST APIs dan HTTP APIs.

Seringkali, microservices menggunakan REST melalui HTTP untuk komunikasi karena penggunaannya yang luas. Tetapi dalam situasi volume tinggi, overhead REST dapat menyebabkan masalah kinerja. Itu karena komunikasi menggunakan jabat tangan TCP yang diperlukan untuk setiap permintaan baru. Dalam kasus seperti itu, gRPC API adalah pilihan yang lebih baik. gRPC mengurangi latensi karena memungkinkan beberapa permintaan melalui koneksi TCP tunggal. gRPC juga mendukung streaming dua arah, memungkinkan klien dan server untuk mengirim dan menerima pesan pada saat yang bersamaan. Ini mengarah pada komunikasi yang lebih efisien, terutama untuk transfer data besar atau real-time.

Jika obrolan tetap ada meskipun memilih jenis API yang tepat, mungkin perlu mengevaluasi kembali arsitektur layanan mikro Anda. Mengkonsolidasikan layanan atau merevisi model domain Anda dapat mengurangi obrolan dan meningkatkan efisiensi.

Menggunakan protokol dan caching

Microservices sering menggunakan protokol seperti gRPC dan REST untuk komunikasi (lihat bagian sebelumnya di.Mekanisme komunikasi) gRPC menggunakan HTTP/2 untuk transportasi, sedangkan REST biasanya menggunakan HTTP/1.1. gRPC menggunakan buffer protokol untuk serialisasi, sedangkan REST biasanya menggunakan JSON atau XHTML. Untuk mengurangi latensi dan overhead komunikasi, caching dapat diterapkan. Layanan seperti Amazon ElastiCache atau lapisan caching di API Gateway dapat membantu mengurangi jumlah panggilan antar layanan mikro.