Saya ingin tahu apakah seseorang benar-benar menjalankan PostgreSQL dalam wadah dalam produksi pada beberapa bentuk sistem file terdistribusi - GlusterFS lebih disukai, atau apa pun.
Saat ini saya menjalankan Mesos / Marathon. Dalam hal node PostgreSQL gagal, Marathon hanya meluncurkan contoh lain PostgreSQL pada node lain dan jika dilakukan dengan benar (penemuan layanan dan pemulihan aplikasi dari kehilangan koneksi database), toleransi kesalahan akhir akan tercapai.
Saya tahu PostgreSQL memiliki solusi HA sendiri, seperti pengiriman log dan cadangan siaga panas, tapi kemudian kita masih perlu menyelesaikan masalah kapan harus beralih dari master ke slave, bagaimana melakukannya dengan benar dan seterusnya.
Jadi, bagaimana Anda menjalankan PostgreSQL dalam produksi di GlusterFS atau serupa? Jika ya, apakah stabil? Bagaimana dengan kinerja?
sumber
Jawaban:
Setiap cluster biasanya memiliki gagasan kuorum: pengamat (monitor, apa pun) yang menentukan simpul mana yang merupakan master. Kemudian Anda dapat menggunakan informasi mereka untuk merutekan permintaan dengan benar. Ini cukup khas untuk menjalankan haproxy dengan tidak hanya pemeriksaan kesehatan dasar TCP / IP tetapi beberapa logika tingkat tinggi diimplementasikan dengan permintaan khusus layanan.
Lihatlah pembuat perdamaian , misalnya.
sumber
Anda perlu menjalankan postgresql dalam mode layanan stateful. Penskalaan dilakukan oleh mesos tetapi replikasi data dilakukan oleh postgresql sendiri. Lihatlah layanan stateful situs ini dan volume persisten .
sumber