तो जब आपके MySQL ट्रैफ़िक को रूट करने की बात आती है तो कई विकल्प मौजूद होते हैं।
- HAProxy
- मारिया डीबी मैक्सस्केल
- nginx
- MySQL राउटर
- ProxySQL
- यदि आप चाहते थे तो भी आप MySQL प्रॉक्सी प्राप्त कर सकते हैं लेकिन यह ईओएफ है।
अब मैंने देखा है कि ग्राहकों के साथ हैरप्रैक्सी अधिक बार उपयोग किया जाता है, यह सेट अप करने के लिए काफी सीधे है। पेरोकोना में दिलचस्पी रखने वालों के लिए एक उदाहरण है:
व्यक्तिगत रूप से मुझे ProxySQL पसंद है। पेर्कोनिया के पास भी कुछ ब्लॉग हैं
- https://github.com/sysown/proxysql/wiki/ProxySQL-Configuration
- https://www.percona.com/blog/2017/01/19/setup-proxysql-for-high-availability-not-single-point-failure/
- https://www.percona.com/blog/2017/01/25/proxysql-admin-configuration/
- https://www.percona.com/blog/2016/09/15/proxysql-percona-cluster-galera-integration/
पेर्कोन में प्रॉक्सीएसक्यूएल संस्करण भी उपलब्ध है
मैं सोच रहा था कि मैं कुछ उदाहरण लिखूंगा लेकिन कुल परकोना ने इसे सब कुछ समझाया है। मैं उन पदों से कुछ भी नहीं लेना चाहता हूं, इसके बजाय इंगित करता हूं कि उन यूआरएल के माध्यम से बहुत अच्छी जानकारी उपलब्ध है। तो जो पहले से लिखा गया है उसे फिर से लिखने की बजाय, मैं रुचि रखने वालों के लिए जानकारी का संग्रह तैयार करूंगा।
सबसे पहले तुलना करें और खुद को तय करें कि आपको क्या चाहिए और चाहिए। पाठ्यक्रम का निम्नलिखित लिंक ProxySQL की ओर पक्षपातपूर्ण होने जा रहा है लेकिन यह आपको विचार करने के लिए एक समग्र दायरा देता है।
यदि आपके पास मास्टर के लिए क्लस्टर या मास्टर है और आपको परवाह नहीं है कि कौन से सर्वर लिखते हैं बनाम पढ़ते हैं, बस जब तक आपके पास कनेक्शन हो;तो HAproxy आपके लिए एक सरल तेज़ सेट अप की संभावना है।
ProxySQL के साथ बोनस एक भारित फैशन, आसानी से यातायात को सॉर्ट करने की क्षमता है। तो आप लिख सकते हैं कि नोड 1 पर जाएं, और नोड 2 और नोड 3 से खींचें का चयन करें। इस पर दस्तावेज़ीकरण यहां पाया जा सकता है:
हां यह HAproxy के साथ किया जा सकता है लेकिन आपको तदनुसार आवेदन को निर्देश देना होगा।
यह आपके क्वेरी नियमों के आधार पर ProxySQL में संभाला जाता है।
अब यहां स्पष्ट प्रश्न: ठीक है तो आप ProxySQL को विफलता के एक बिंदु बनने से कैसे रोकते हैं?
आप निवेश कर सकते हैं एक मजबूत लोड बैलेंसर और इत्यादि आदि ... इस पर हार्डवेयर टॉस करें .... या इसे अपने आप को आसान बनाएं और ओपन सोर्स का समर्थन करें और KeepAlive डी का उपयोग करें। यह सेट अप करना बहुत आसान है और इसमें से सभी को फिर से दस्तावेज किया गया है:
- https://www.percona.com/blog/2017/01/19/setup-proxysql-for-high-availability-not-single-point-failure/
- http://www.keepalived.org/doc/
- निष्पक्ष होने के लिए यहां तक कि रखरखाव और HAproxy के लिए एक उदाहरण भी है
- https://andyleonard.com/2011/02/01/haproxy-and-keepalived-example-configuration/
यदि आपने कभी लुआ और mysql-proxy से निपटाया है, तो ProxySQL और Keepalived आपके लिए बहुत आसान होना चाहिए। यदि आप अभी भी इसे किसी कारण से चाहते हैं: https://launchpad.net/mysql-proxy
भले ही आप HAproxy, ProxySQL या किसी अन्य समाधान का चयन करते हैं, आपको यह सुनिश्चित करने की ज़रूरत है कि एक बार दूसरे के साथ विफलता के एक बिंदु को प्रतिस्थापित न करें और इसके लिए बनाए रखा जाए। यदि आप प्रॉक्सी का उपयोग कर रहे हैं तो ऐसा करने के लिए बहुत कम कारण नहीं है।
तो ProxySQL पर कुछ और चीजें।
- यदि आप उन होस्ट्स को ट्रैक करते हैं जो आपकी रिपोर्टिंग या निगरानी के माध्यम से आपके डेटाबेस से कनेक्ट होते हैं, तो उन आईपीएस या होस्टनाम का एहसास हो रहा है जो अब प्रॉक्सी सर्वर होने जा रहे हैं।
- फिर आपके पास पहले से ही MySQL में मौजूद सभी उपयोगकर्ताओं के बारे में क्या है? क्या आप उन्हें proxysql में माइग्रेट कर सकते हैं? हाँ तुम कर सकते हो। इसमें कुछ कदम उठाए जाते हैं लेकिन यह सक्षम है। यहां इसका एक उदाहरण दिया गया है:
- सुनिश्चित करें कि आप मल्टी लेयर कॉन्फ़िगरेशन सिस्टम को समझते हैं। डिस्क पर अपनी जानकारी बचाओ!
- https://github.com/sysown/proxysql/wiki/Main-(runtime)#runtime-tables
- https://github.com/sysown/proxysql/wiki/Main-(runtime)#disk-database
- ProxySQL MySQL डिफ़ॉल्ट पोर्ट 3306 पर चला सकता है
- हां mysql-interfaces संपादित करें
- अब अपने अधिकतम_कनेक्शन को ध्यान में रखें। यदि आपके पास mysql में Max_connections 500 पर सेट है, तो यह मानक उपयोगकर्ताओं के लिए आपकी सीमा की सीमा है। ProxySQL के साथ अब आप सिस्टम भर में उपयोगकर्ताओं को फैला सकते हैं और अधिकतम प्रति नोड सेट कर सकते हैं। तो यह सुनिश्चित करने में सहायता के लिए कि आप 500 कनेक्शन हिट नहीं करते हैं, MySQL-max_connections को MySQL मान से थोड़ा कम सेट करें।
- मॉनीटर मॉड्यूल और स्टेटस का लाभ उठाएं .. जानें कि आपके प्रॉक्सी और ट्रैफिक के साथ क्या चल रहा है।
- यदि आपके आवेदन के लिए लागू हो तो क्वेरी कैशिंग का लाभ उठाएं।
http://anothermysqldba.blogspot.com/2018/05/proxy-mysql-haproxy-proxysql-keepalived.html
कोई टिप्पणी नहीं:
एक टिप्पणी भेजें