PL/Proxy 和 PostgreSQL 集群的結(jié)構(gòu)關(guān)系可以用下圖清楚地表示,對(duì)PL/Proxy和PostgreSQL集群還不太了解的朋友可以看 Skype Plans for PostgreSQL to Scale to 1 Billion Users 這篇文章。 以下操作是在三臺(tái)不同機(jī)器上執(zhí)行的情況,其中plproxy節(jié)點(diǎn)的機(jī)器名是P1,數(shù)據(jù)庫節(jié)點(diǎn)的機(jī)器名分別是D1和D2。機(jī)器硬件配置如下,同時(shí)需要Linux-4.2、postgresql-8.3.0和plproxy-2.0.4,pgbouncer的安裝過程略去。
plproxy節(jié)點(diǎn):
node1節(jié)點(diǎn):
node2節(jié)點(diǎn):
1. 在P1, D1,D2上安裝postgresql-8.3.0,并創(chuàng)建URTCluster數(shù)據(jù)庫
## Compile and install
## Add Unix User
## Init DB and Start service
## Create DB and Use Local Connection
##檢查數(shù)據(jù)庫是否已經(jīng)創(chuàng)建
#D1,D2必須允許P1訪問
#添加postgres用戶的認(rèn)證
# 重起服務(wù)器
2. 在P1上安裝plproxy-2.0.4
#檢查$PATH變量里是否有/home/y/pgsql/bin目錄,如果沒有,修改你的.bash_profile文件,添加/home/y/pgsql/bin到path里。
gunzip plproxy-2.0.4.tar.gz
#創(chuàng)建plproxy
3. 在P1, D1,D2上安裝plpgsql sudo -u postgres /home/y/pgsql/bin/createlang plpgsql URTCluster 4. 在P1上創(chuàng)建schema
sudo -u postgres /home/y/pgsql/bin/psql -d URTCluster
5. 在P1上初始化設(shè)置 #plproxy的配置是通過三個(gè)函數(shù)(過程)實(shí)現(xiàn)的,這三個(gè)函數(shù)的標(biāo)準(zhǔn)模版如下:
#這個(gè)函數(shù)是讓plproxy可以找到對(duì)應(yīng)的集群
#這個(gè)函數(shù)是plproxy用于判斷是否給前端返回已經(jīng)cache過的結(jié)果用的
#這個(gè)函數(shù)是獲取不同的集群的配置
#把這三個(gè)函數(shù)放在一個(gè)URTClusterInit.sql文件里,并執(zhí)行
6. 在D1,D2節(jié)點(diǎn)上設(shè)置
#給每個(gè)數(shù)據(jù)庫節(jié)點(diǎn)都創(chuàng)建一張表users
#給每個(gè)數(shù)據(jù)庫節(jié)點(diǎn)都創(chuàng)建一個(gè)插入函數(shù)
#把函數(shù)保存在 URTClusterNodesInit_1.sql文件里,并執(zhí)行
7. 在P1節(jié)點(diǎn)上設(shè)置
#在 plproxy 節(jié)點(diǎn)上創(chuàng)建一個(gè)同名的插入函數(shù),用于進(jìn)行集群檢索
#在 plproxy 節(jié)點(diǎn)上創(chuàng)建一個(gè)查詢函數(shù),用于進(jìn)行集群檢索
#把函數(shù)保存在 URTClusterProxyExec.sql文件里,并執(zhí)行
8. 在P1上測試結(jié)果 sudo -u postgres /home/y/pgsql/bin/psql -d URTCluster
SELECT insert_user(’Sven’,’sven@somewhere.com’);
SELECT insert_user(’Marko’, ‘marko@somewhere.com’);
SELECT insert_user(’Steve’,’steve@somewhere.cm’);
SELECT get_user_email(’Sven’);
|
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
