文档章节

多线程PostgreSQL连接池Odyssey网络监听

有理想的猪
 有理想的猪
发布于 2018/10/25 14:06
字数 417
阅读 72
收藏 0

感谢Yandex给我们带来的优秀作品,源代码见 https://github.com/yandex/odyssey

1、PostgreSQL的TCP/IP监听

有两个参数设置监听地址
listen_addresses 可以设置多个地址,以逗号隔开
port 设置监听端口

这里所有地址只能使用相同端口,同一地址无法监听多个端口

2、Odyssey的TCP/IP监听

通过listen段逐个设置,可以设置任意地址的任意端口

比PG有更多的灵活性

3、PostgreSQL的Unix socket监听

unix_socket_directories 同样可以通过逗号分隔设置多个监听

不能自己定义名字,固定为 .s.PGSQL.{port}
可以有 /path1/.s.PGSQL.{port}、/path2/.s.PGSQL.{port}、

4、Odyssey的Unix socket监听

unix_socket_dir 设置所在目录

只能设置一个目录,但可以设置多个监听
{unix_socket_dir}/.s.PGSQL.{port1}、{unix_socket_dir}/.s.PGSQL.{port2}、{unix_socket_dir}/.s.PGSQL.{port3}

5、Odyssey通过Unix socket连接PostgreSQL

有一点小麻烦,想连接必须将 unix_socket_dir 设置为PostgreSQL的Unix Socket监听目录之一,否则无法连接,因为Odyssey即在这个目录里创建自己的Unix Socket,也在这个目录里边查找PostgreSQL的Unix Socket。

6、监听localhost动作不同

PostgreSQL监听localhost会开启:127.0.0.1:5432、[::1]:5432

而Odyssey监听localhost只开启:[::1]:5432

 

这都不是问题,要增强也简单的很。正在使用PgBouncer的诸位,是时候考虑切换了。

© 著作权归作者所有

共有 人打赏支持
有理想的猪
粉丝 136
博文 91
码字总数 32273
作品 0
红挢
高级程序员
私信 提问
初识Postgresql和Sqoop

1 在CentOS 6.4上安装PostgreSql 9.3 1.1 用yum安装PostgreSql Server: CentOS 6.4用yum默认安装的PostgreSql版本是8.x,比目前最新的9.3差了一代,需要更新yum repository之后,才能用y...

smile_zjw
2013/12/01
0
0
PostgresPro buildin pool(内置连接池)版本 原理与测试

标签 PostgreSQL , 内置连接池 , pgbouncer , postgrespro 背景 PostgreSQL 与Oracle dedicate server 一样采用了线程模式,在连接数非常多时,性能下降会比较严重。 通常社区用户的做法是使...

德哥
2018/07/28
0
0
apigateway-kong(一)简介及部署

   最近搭建一个api-gateway服务,随着后端restful api不断增加, 权限控制,安全,负载均衡,请求分发,监控等都成了问题 为什么使用API-Gateway   1. 方便客户端维护-- 每个请求方不用...

zhoujie0111
2018/05/22
0
0
Postgresql 客户端连接问题

做程序调用postgresql数据库的时候,后台出现这么一条错误: java.sql.SQLException: No pg_hba.conf entry for host 210.230.203.160, user postgres, database rinri01 这条错误是什么意思...

dodojava
2011/11/25
0
0
如何在Debian 9上安装PostgreSQL

PostgreSQL,通常简称为Postgres,是一种开源的通用对象 - 关系数据库管理系统。 PostgreSQL具有许多高级功能,如在线备份,即时恢复,嵌套事务,SQL和JSON查询,多版本并发控制(MVCC),异...

dragon_tech
2018/11/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

移植Modbus到STM32F103(2):移植FreeModbus到usart3并运行示例代码

FreeModbus是Modbus的一个被广泛移植的实现。其源码在github,最新版是1.6。 FreeModbus支持Modbus功能码里的0x01~0x06,0x0F~0x11和0x17,对一些功能比如异常诊断和读事件计数等功能码并没有...

Konstantine
今天
3
0
浅谈神经网络(神经网络篇)

背景 之前写过浅谈神经网络基础篇,简单介绍下机器学习这块内容,用于扫盲。本文正式将神经网络,这部分是深度学习的基础。了解完可以掌握强大的机器学习的方法,也可以更好的了解深度学习。...

Uknowzheng
今天
3
0
移动硬盘变为RAW格式后的修复

在Mac上使用自己的移动硬盘结果文件系统格式变为RAW; 在自己windows笔记本上使用chkdsk H: /F进行修复,修复日志如下: C:\Users\mengzhang6>chkdsk H: /F文件系统的类型是 NTFS。卷标是 do...

晨猫
今天
3
0
10 Git —— 标签管理

10 Git —— 标签管理 本节内容: 命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;命令git......

lwenhao
今天
3
0
小程序设置垂直居中,水平居中

如果子容器中的view需要居中的话,那需要在父容器中设置居中 水平居中: display: flex; flex-direction: column; align-items: center; 垂直居中 display: flex;align-items: cen...

淘幻幻
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部