1、前言
关于 Odyssey ,它是一种相对高级的多线程 PostgreSQL 连接池。 内部采用异步的多线程体系结构,使用事件驱动的异步方式来实现 内部逻辑,但是对外提供的接口看起来仍像是同步的过程方式,而没有采用回调的方式来实现,便于开发人员使用。
从支持程度来讲,它的多线程方式比pgbouncer似乎更胜一筹,单个应用能更好的利用CPU,并且可以支持更大规模的并发。
最近在总结PG的一些连接池的使用时,体验了一把Odyssey(奥德赛)连接池。顺便说一句,俄国的工程师水平还是相当不错的。可是看到网上的文档极少,除了github上有些不算很细致的介绍以外。就萌生了写下这篇短文的想法。
基本架构是下图这样的:
-
Instance: 应用程序的入口点,用于系统初始化,读取配置文件&#