Gateway khusus Azure Cosmos DB - Gambaran Umum
BERLAKU UNTUK: NoSQL
Gateway khusus adalah komputasi sisi server yang merupakan ujung depan bagi akun Azure Cosmos DB Anda. Saat Anda tersambung ke gateway khusus, gateway tersebut merutekan permintaan dan meng-cache data. Seperti throughput yang diprovisikan, gateway khusus dikenakan tarif per jamnya.
Gambaran Umum
Anda dapat memprovisikan gateway khusus untuk meningkatkan kinerja dalam skala besar. Alasan paling umum untuk memprovisikan gateway khusus adalah untuk penembolokan. Saat Anda memprovisikan gateway khusus, cache terintegrasi secara otomatis dikonfigurasi dalam gateway khusus. Baca titik dan kueri yang mencapai cache terintegrasi tidak menggunakan RU Anda. Memprovisikan gateway khusus dengan cache terintegrasi dapat membantu beban kerja intensif baca menurunkan biaya pada Azure Cosmos DB.
Gateway khusus tersebut dibangun pada Azure Cosmos DB. Saat memprovisikan gateway khusus, Anda memiliki node yang dikelola penuh yang merutekan permintaan ke partisi backend. Menyambungkan ke Azure Cosmos DB dengan gateway khusus memberikan latensi yang lebih rendah dan lebih mudah ditebak daripada menghubungkan ke Azure Cosmos DB dengan gateway standar. Bahkan cache yang terlewatkan akan melalui peningkatan latensi saat membandingkan gateway khusus dan gateway standar.
Hanya perubahan kode minimal yang diperlukan agar aplikasi Anda dapat menggunakan gateway khusus. Baik akun Azure Cosmos DB baru maupun yang sudah ada dapat memprovisikan gateway khusus untuk peningkatan kinerja pembacaan.
Catatan
Apakah Anda memiliki umpan balik terkait gateway khusus? Kami ingin mendengar pendapat Anda! Jangan ragu untuk berbagi umpan balik secara langsung dengan tim teknik Azure Cosmos DB: cosmoscachefeedback@microsoft.com
Mode koneksi
Ada dua mode konektivitas untuk Azure Cosmos DB, mode Langsung dan mode Gateway. Dengan mode Gateway, Anda dapat menyambungkan ke gateway standar atau gateway khusus bergantung pada titik akhir yang Anda konfigurasikan.
Menyambungkan ke Azure Cosmos DB menggunakan mode langsung
Saat Anda menyambungkan ke Azure Cosmos DB menggunakan mode langsung, aplikasi Anda tersambung langsung ke ujung belakang Azure Cosmos DB. Bahkan jika Anda memiliki banyak partisi fisik, perutean permintaan ditangani sepenuhnya dari sisi klien. Mode langsung menawarkan latensi rendah karena aplikasi dapat berkomunikasi secara langsung dengan ujung belakang Azure Cosmos DB dan tidak memerlukan lompatan jaringan tingkat menengah. Jika Anda memilih untuk terhubung dengan mode langsung, permintaan Anda tidak akan menggunakan gateway khusus atau cache terintegrasi.
Menyambungkan ke Azure Cosmos DB menggunakan mode gateway
Jika Anda menyambungkan ke Azure Cosmos DB menggunakan mode gateway, aplikasi Anda akan menyambungkan ke node ujung depan terlebih dahulu, yang menangani perutean permintaan ke node ujung belakang yang sesuai. Karena mode gateway mencakup lompatan jaringan tambahan, Anda dapat melihat latensi yang sedikit lebih tinggi saat dibandingkan dengan mode langsung.
Saat menyambungkan ke Azure Cosmos DB dengan mode gateway, Anda dapat menyambungkan dengan salah satu opsi berikut:
- Gateway standar - Jika backend, yang mencakup throughput dan penyimpanan yang diprovisikan, memiliki kapasitas khusus per kontainer, gateway standar dibagikan untuk banyak akun Azure Cosmos DB. Sangat praktis bagi banyak pelanggan untuk berbagi gateway standar karena masing-masing pelanggan menggunakan sumber daya komputasi yang kecil.
- Gateway khusus - Dalam gateway ini, baik ujung belakang maupun gateway memiliki kapasitas khusus. Cache terintegrasi memerlukan gateway khusus karena memerlukan CPU dan memori signifikan yang khusus untuk akun Azure Cosmos DB Anda.
Anda harus menyambungkan ke Azure Cosmos DB menggunakan gateway khusus agar dapat menggunakan cache terintegrasi. Gateway khusus memiliki titik akhir yang berbeda dari gateway standar yang disediakan dengan akun Azure Cosmos DB Anda, tetapi permintaan dirutekan dengan cara yang sama. Saat menyambungkan ke titik akhir gateway khusus, aplikasi Anda mengirimkan permintaan ke gateway khusus, yang kemudian merutekan permintaan tersebut ke node ujung belakang yang berbeda. Jika memungkinkan, cache terintegrasi akan memberikan hasilnya.
Diagram koneksi mode gateway menggunakan gateway khusus:
Memprovisikan gateway khusus
Kluster gateway khusus dapat disediakan di API untuk akun NoSQL. Kluster gateway khusus dapat memiliki hingga lima node secara default dan Anda dapat menambahkan atau menghapus node kapan saja. Semua node gateway khusus dalam akun Anda berbagi string koneksi yang sama.
Node gateway khusus terpisah dari satu sama lain. Saat Anda memprovisikan beberapa node gateway khusus, setiap node dapat merutekan setiap permintaan yang diberikan. Selain itu, setiap simpul memiliki cache terpisah yang terintegrasi dari yang lainnya. Data yang di-cache dalam setiap node bergantung pada data terbaru yang ditulis atau dibaca melalui node tersebut. Jika item atau kueri ditembolok di satu node, belum tentu juga akan ditembolok di node lainnya.
Untuk pengembangan, kami menyarankan untuk memulai dengan satu node. Namun untuk produksi, sebaiknya Anda memprovisikan tiga node atau lebih untuk ketersediaan yang tinggi. Pelajari cara memprovisikan kluster gateway khusus dengan cache terintegrasi. Memprovisikan beberapa node gateway khusus memungkinkan kluster gateway khusus tersebut untuk melanjutkan perutean permintaan dan memberikan data yang di-cache, bahkan saat salah satu node gateway khusus tidak tersedia.
Gateway khusus tersedia dalam ukuran berikut. Cache terintegrasi menggunakan sekitar 50% memori dan sisanya dicadangkan untuk metadata dan merutekan perutean ke partisi backend.
Nama SKU | vCPU | Memori |
---|---|---|
D4s | 4 | 16 GB |
D8s | 8 | 32 GB |
D16s | 16 | 64 GB |
Tip
Setelah dibuat, Anda dapat menambahkan atau menghapus node gateway khusus, tetapi Anda tidak bisa mengubah ukuran node. Untuk mengubah ukuran node gateway khusus, Anda dapat membatalkan provisi kluster dan memprovisikannya lagi dalam ukuran yang berbeda. Ini akan mengakibatkan periode waktu henti yang singkat kecuali Anda mengubah string koneksi di aplikasi Anda untuk menggunakan gateway standar selama provisi ulang.
Ada banyak cara berbeda untuk menyediakan gateway khusus:
- Memprovisikan gateway khusus menggunakan portal Azure
- Menggunakan REST API Azure Cosmos DB
- Azure CLI
- Templat ARM
- Catatan: Anda tidak dapat mencabut akses gateway khusus menggunakan template ARM
Catatan
Anda dapat menyediakan gateway khusus di akun Azure Cosmos DB dengan zona ketersediaan berdasarkan permintaan. Jangkau informasi cosmoscachefeedback@microsoft.com lebih lanjut.
Gateway khusus dalam akun multi-wilayah
Saat Anda memprovisikan kluster gateway khusus dalam akun multi-wilayah, kluster gateway khusus yang identik diprovisikan di setiap wilayah. Contohnya, anggap saja akun Azure Cosmos DB di Amerika Timur dan Eropa Utara. Jika Anda memprovisikan kluster gateway khusus dengan dua node D8 pada akun ini, Anda akan memiliki total empat node D8 - dua di Amerika Timur dan dua di Eropa Utara. Anda tidak perlu mengonfigurasi gateway khusus di setiap wilayah secara eksplisit dan string koneksi akan tetap sama. Selain itu juga tidak ada perubahan pada cara terbaik melakukan failover.
Sama seperti node di dalam kluster, node gateway khusus lintas wilayah bersifat independen. Ada kemungkinan bahwa data yang di-cache di setiap wilayah akan berbeda, bergantung pada pembacaan atau penulisan terbaru di wilayah tersebut.
Batasan
Gateway khusus memiliki batasan berikut:
- Gateway khusus hanya didukung pada API untuk akun NoSQL
- Anda tidak dapat menggunakan kontrol akses berbasis peran (RBAC) untuk mengautentikasi permintaan data plane yang dirutekan melalui gateway khusus
Langkah berikutnya
Baca selengkapnya mengenai penggunaan gateway khusus pada artikel berikut:
- Cache terintegrasi
- Mengonfigurasi cache terintegrasi
- FAQ cache terintegrasi
- Mencoba melakukan perencanaan kapasitas untuk migrasi ke Azure Cosmos DB? Anda dapat menggunakan informasi tentang kluster database Anda yang ada saat ini untuk perencanaan kapasitas.
- Jika Anda hanya mengetahui jumlah vCore dan server di kluster database yang ada, baca tentang memperkirakan unit permintaan menggunakan vCore atau vCPU
- Jika Anda mengetahui rasio permintaan umum untuk beban kerja database Anda saat ini, baca memperkirakan unit permintaan menggunakan perencana kapasitas Azure Cosmos DB