Bagikan melalui


Ketersediaan tinggi di Azure Cosmos DB for PostgreSQL

BERLAKU UNTUK: Azure Cosmos DB for PostgreSQL (didukung oleh ekstensi database Citus ke PostgreSQL)

Ketersediaan tinggi (HA) meminimalkan waktu henti database dengan mempertahankan replika siaga setiap node dalam kluster. Jika sebuah node tidak berfungsi, Azure Cosmos DB for PostgreSQL mengalihkan koneksi dari nodel yang gagal ke mode siaganya. Kegagalan terjadi dalam beberapa menit, dan simpul yang dipromosikan selalu memiliki data baru melalui replikasi streaming sinkron PostgreSQL.

Semua simpul utama dalam kluster disediakan ke dalam satu zona ketersediaan untuk latensi yang lebih baik antara simpul. Zona ketersediaan yang disukai memungkinkan Anda menempatkan semua node kluster di zona ketersediaan yang sama tempat aplikasi disebarkan. Kedekatan ini dapat meningkatkan performa lebih lanjut dengan mengurangi latensi database aplikasi. Simpul siaga disediakan ke zona ketersediaan lain. portal Azure menampilkan zona ketersediaan setiap simpul utama dalam kluster. Anda juga dapat memeriksa zona ketersediaan setiap simpul dalam kluster menggunakan salah satu metode terprogram seperti REST API.

Bahkan tanpa ketersediaan tinggi diaktifkan, setiap simpul memiliki penyimpanan redundan lokal (LRS) sendiri dengan tiga replika sinkron yang dikelola oleh layanan Azure Storage. Jika ada kegagalan replika tunggal, kegagalan terdeteksi oleh layanan Azure Storage dan dibuat ulang secara transparan. Untuk durabilitas penyimpanan LRS, lihat metrik di halaman ini.

Ketika HA diaktifkan, Azure Cosmos DB for PostgreSQL menjalankan satu simpul siaga untuk setiap simpul utama di kluster. Node utama dan node siaga menggunakan replikasi PostgreSQL sinkron. Replikasi ini memungkinkan pelanggan untuk memiliki waktu henti yang dapat diprediksi jika node utama gagal. Singkatnya, layanan kami mendeteksi kegagalan pada node utama, dan mengalihkan ke node siaga tanpa kehilangan data.

Untuk memanfaatkan HA pada simpul koordinator, aplikasi database perlu mendeteksi dan mencoba kembali koneksi yang terputus dan transaksi yang gagal. Koordinator yang baru dipromosikan dapat diakses dengan string koneksi yang sama.

Status ketersediaan tinggi

Pemulihan dapat dibagi menjadi tiga tahap: deteksi, kegagalan, dan pemulihan penuh. Azure Cosmos DB for PostgreSQL menjalankan pemeriksaan kesehatan berkala pada setiap simpul, dan setelah empat pemeriksaan gagal, itu menentukan bahwa simpul tidak berfungsi. Azure Cosmos DB for PostgreSQL kemudian mempromosikan siaga ke status simpul utama (failover), dan membuat siaga baru. Replikasi streaming dimulai, menghadirkan node baru terkini. Ketika semua data telah direplikasi, simpul telah mencapai pemulihan penuh.

Azure Cosmos DB for PostgreSQL menampilkan status kemajuan failover pada halaman Gambaran Umum untuk kluster di portal Azure.

  • Sehat: High availability diaktifkan dan node sepenuhnya direplikasi ke siaganya.
  • Failover sedang berlangsung: Kegagalan terdeteksi pada node utama dan failover ke siaga dimulai. Status ini beralih ke Membuat siaga setelah failover ke simpul siaga selesai, dan siaga menjadi primer baru.
  • Membuat siaga: Siaga sebelumnya dipromosikan ke primer, dan siaga baru sedang dibuat untuk itu. Ketika sekunder baru siap, status ini beralih ke Replikasi sedang berlangsung.
  • Replikasi sedang berlangsung: Node siaga baru diprovisikan dan sinkronisasi data sedang berlangsung. Setelah semua data direplikasi ke siaga baru, replikasi sinkron diaktifkan antara simpul utama dan siaga, dan status simpul beralih kembali ke Sehat.
  • Tidak: High Availability tidak diaktifkan pada node ini.

Langkah berikutnya