pgbouncer介绍

一、Pgbouncer 的介绍

  • Pgbouncer是一个针对PostgreSQL数据库的轻量级连接池,任何目标应用都可以把 pgbouncer 当作一个 PostgreSQL 服务器来连接,然后pgbouncer 会处理与服务器连接,或者是重用已存在的连接。
  • pgbouncer 的目标是降低因为新建到 PostgreSQL 的连接而导致的性能损失。

二、PgBouncer的作用

  • PgBouncer可以在后端数据库和前端应用间建立连接的桥梁,由PgBouncer去处理和后端数据库的连接关系。
  • 对客户端连接进行限制,预防过多或者恶意的连接请求。

三、概念图(下图很形象)

    四、 PgBouncer的优点

    • 内存消耗低(默认为2k/连接),因为Bouncer不需要每次都接受完整的数据包
    • 可以把不同的数据库连接到一个机器上,而对客户端保持透明
    • 支持在线的重新配置而无须重启
    • pgbouncer 可以限制每一对用户+数据库 到PostgreSQL Cluster的总连接数

    五、 PgBouncer缺点

    • 仅支持V3协议,因此后端版本须>=7.4
    • 并没有真正实现数据库的负载均衡,如果单一的对一个数据库操作会使某个数据节点读写量增大
    • 当某个数据库down掉后,就不能通过pgbouncer连接起来,缺少了数据库备份的功能

    六、总结

    • 主要工作还是每一个数据节点对数据的存取,pgbouncer只是提供给客户端数据节点的分配和链接以及限制客户端连接的数量。
    • 但整体上实现了对数据的负载均衡

    七、重要的配置文件(例子)

    [databases]

    osdba=host=127.0.0.1 port=5432 user=osdba dbname=osdb

    • “本句话说明该pgbouncer创建了针对127.0.0.1的osdb的一个连接池,该链接池对调用方的呈现的数据库名称是osdba,它映射到本机的osdb数据库上。所有访问pgbouncer上的osdba的请求都会转到osdb上完成。这意味着,客户端通过pgbouncer单次连接时,只能连接到某台主机上的某个数据库”

    postgres1= host= 192.168.12.32 port=5432 user=ddong dbname=template1

    postgres2=host=192.168.12.33 port=5432 user=ddong dbname=template1

    [pgbouncer]

    listen_port=64321

    listen_addr=127.0.0.1

    auth_type=md5

    auth_file=users.txt

    logfile=pgbouncer.log

    pidfile=pgbouncer.pid

    admin_users = bntest

    • 在装有psql的机器上使用命令:psql -h 127.0.0.1 -p 64321 -U <用户名> <数据库名>(如数据库:osdba、postgres1、postgres2)
    • 用户名为users.txt文件里的用户
    • 如:psql -h 127.0.0.1 -p 64321 -U ddong postgres1 即通过pgbouncer登录到主机为192.168.12.32的数据库为template1的机器上
    • Pgbouncer的配置文件有映射关系,如上例所示

    八、手册参考

    九、注意事项

    • 基于pgbouncer的数据库集群 以上配置文件和参考文档针对软件包:PostgreSQL-9.0.13.tar.gz pgbouncer-1.3.4.tgz
    • 安装完成后,须有bin目录和lib目录下的环境变量配置,安装目录所属用户
    时间: 2024-07-29 00:59:48

    pgbouncer介绍的相关文章

    PL/Proxy介绍

    PL/Proxy 介绍 一.概述 1.PL/Proxy 是一个采用PL Language语言的数据库分区系统. 目的:轻松访问分区数据库 它的理念是代理远程函数体内指定.函数调用同样标签创建的函数,所以,代理的目标信息需要在代理函数体内指定. plproxy是skype开发的一个数据库组件 plproxy能够在PostgreSQL上运行的一种过程语言,能够完成对远程数据库的调用,并能够完成数据切片的功能. 概念图 一个实例描述:Thinking PostgreSQL PL/Proxy Used

    数据库介绍与分类

    目录 数据库介绍与分类... 1 1.1 数据库介绍... 2 1.1.1什么是数据库... 2 1.2数据库的种类... 2 1.2.1关系型数据库介绍... 2 1.2.2非关系型数据库介绍... 3 1.3 常用关系型数据库产品介绍... 4 1.3.1 Oracle数据库... 4 1.3.2 MySQL数据库... 5 1.3.3 MariaDB数据库... 5 1.3.4 SqlServer数据库... 6 1.3.5 Access数据库... 6 1.3.6 其他不常用数据库...

    基于位置信息的聚类算法介绍及模型选择

    百度百科 聚类:将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类.由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异."物以类聚,人以群分",在自然科学和社会科学中,存在着大量的分类问题.聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法.聚类分析起源于分类学,但是聚类不等于分类.聚类与分类的不同在于,聚类所要求划分的类是未知的. 分类和聚类算法一直以来都是数据挖掘,机器学习领域的热门课题,因此产生了众多的

    Centos 7.3下 Linux For SQL Server安装及配置介绍

    Centos 7.3下Linux For SQL Server安装及配置介绍 说到SQL Server服务,我们大家都知道是Microsoft公司的数据库服务,当然说到数据库,现在主要分为三大商:1:Oracle.2:Msql Server.3:Mysql:三种数据库在当下环境受到不了不同程度的关注:比如oracle主要应用到大型的商业比较多,比如银行:SQL Server主要在常见的互联网公司使用:mysql主要应用于小型的企业或者服务商使用:当然从费用上来说,Oracle是最贵的,也是最为稳

    苹果高管斯洛基介绍A11仿生芯片背后的秘密!

    9月13日凌晨,苹果在秋季发布会上正式推出了全新一代iPhone智能手机:iPhone 8.iPhone 8 Plus和iPhone X(发音为iPhone 10).这三款新设备的都搭载了全新的移动芯片,苹果称之为A11仿生(不是"Fusion"),并表示这是iPhone上有史以来最强大.最智能的芯片. 通过发布会介绍的A11仿生芯片细节,不难发现苹果自主定制芯片野心非常大,可谓雄心勃勃.并且随着时间的推移,针对半导体芯片的定制设计越来越多,A11达到了前所未有的高度.苹果在发布会中的

    10.23 linux任务计划cron10.24chkconfig工具10.25 systemd管理服务10.26 unit介绍 10.27 target介绍

    - 10.23 linux任务计划cron - 10.24 chkconfig工具 - 10.25 systemd管理服务 - 10.26 unit介绍 - 10.27 target介绍 - 扩展 1. anacron http://blog.csdn.net/strikers1982/article/details/4787226  2. xinetd服(默认机器没有安装这个服务,需要yum install xinetd安装) http://blog.sina.com.cn/s/blog_46

    20.1 Shell脚本介绍;20.2 Shell脚本结构和执行;20.3 date命令用法;20.4 Shell脚本中的变量

    20.1 Shell脚本介绍 1. shell是一种脚本语言 aming_linux blog.lishiming.net 2. 可以使用逻辑判断.循环等语法 3. 可以自定义函数 4. shell是系统命令的集合 5. shell脚本可以实现自动化运维,能大大增加我们的运维效率 20.2 Shell脚本结构和执行 1. 开头(首行)需要加: #!/bin/bash 2. 以#开头的行作为解释说明: 3. 脚本的名字以.sh结尾,用于区分这是一个shell脚本 4. 执行.sh脚本方法有两种:

    微信小程序管理后台介绍

    微信小程序的管理后台,每次进入都需要扫码,还是特别不爽,现在微信小程序还没正式发布,很多人都还没看到管理后台,这里抢先发布出来 ------------------------------------------------------------ http://www.cnblogs.com/likwo/p/6057258.html 好推小程序统计:https://weixin.hotapp.cn关键指标分析推广效果,一行代码接入微信登录 ---------------------------

    HTML5介绍

    声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. HTML5没有那么难,他是一个非常简单的标记. 三个知识点:THML5/JS/CSS3. 之后是网页框架 C/S 客户端/服务器 B/S 浏览器/服务器 C/S构架的优缺点: C/S架构的模型: C/S架构一旦发生更新,那么成千上万个客户机都要进行更新,如果更新内容比较多,客户机不更新完毕,就无法运行. B/S架构工作原理: B/S架构优缺点: 移动公司都是