PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

Kubernetes पर Pgbouncer के साथ Npgsql - पूलिंग और कीपलाइव्स

आप आम तौर पर सही रास्ते पर हैं और आपका विश्लेषण सटीक लगता है। कुछ टिप्पणियाँ:

विकल्प 2 (रख-रखाव को चालू करना) Npgsql के पूल में निष्क्रिय कनेक्शनों को हटाने में मदद करेगा जो टूट गए हैं। जैसा कि आपने लिखा है, आपका आवेदन अभी भी कुछ विफल होगा (क्योंकि कुछ खराब निष्क्रिय कनेक्शन समय पर नहीं हटाए जा सकते हैं)। यह सोचने का कोई विशेष कारण नहीं है कि इससे और समस्याएँ पैदा होंगी - इसे चालू करना काफी सुरक्षित होना चाहिए।

विकल्प 3 वास्तव में perf के लिए समस्याग्रस्त है, क्योंकि हर बार डेटाबेस कनेक्शन की आवश्यकता होने पर pgbouncer के लिए एक टीसीपी कनेक्शन स्थापित करना होगा। यह 100% विफल-सबूत तंत्र भी प्रदान नहीं करेगा, क्योंकि कनेक्शन के उपयोग में होने पर भी pgbouncer ड्रॉप आउट हो सकता है।

दिन के अंत में, आप मनमाने ढंग से नेटवर्क/सर्वर विफलता के मामले में लचीलापन के बारे में पूछ रहे हैं, जिसे हासिल करना आसान बात नहीं है। इससे निपटने का एकमात्र 100% विश्वसनीय तरीका आपके आवेदन में है, एक समर्पित परत के माध्यम से जो एक क्षणिक अपवाद होने पर संचालन का पुन:प्रयास करेगा। आप Poly देखना चाहेंगे , और ध्यान दें कि Npgsql एक IsTransient अपवाद जिसे पुन:प्रयास करने के लिए ट्रिगर के रूप में उपयोग किया जा सकता है (इकाई फ्रेमवर्क कोर में एक समान "पुन:प्रयास रणनीति" भी शामिल है)। यदि आप इस रास्ते से नीचे जाते हैं, तो ध्यान दें कि लेन-देन को सही ढंग से संभालना विशेष रूप से कठिन है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पीजी-वादे में क्वेरी टाइमआउट

  2. कनेक्शन पूलिंग का उपयोग करके PostgreSQL में स्केलिंग कनेक्शन

  3. PostgreSQL:psql सर्वर से कनेक्ट क्यों नहीं हो सकता है?

  4. PostgreSql:समय क्षेत्र के साथ अजीब-गठन टाइमस्टैम्प प्राप्त करना

  5. PostgresPlus Advance Server 9.1 . के साथ PL/प्रॉक्सी का संकलन