我很好奇,如果某人实际上在某个形式的分布式文件系统的生产容器中运行Postgresql – 最好是GlusterFS,或者其他任何东西.
我目前正在运行Mesos / Marathon.如果Postgresql节点出现故障,Marathon只需在其他节点上启动另一个Postgresql实例,如果正确完成(服务发现和应用程序从数据库连接丢失中恢复),将实现最终的容错.
我知道Postgresql有自己的HA解决方案,比如日志传送和热备用备份,但是仍然需要解决何时从主设备切换到从设备,如何正确执行等问题.
but then one still need to solve the problem on when to switch from master to slave,how to do it properly and so on.
每个群集通常都具有仲裁概念:观察者(监视器,等等)将决定哪个节点是主节点.然后,您可以使用他们的信息正确地路由请求.运行haproxy不仅具有基本的TCP / IP health checks,而且还有一些使用特定于服务的查询实现的高级逻辑.
查看peacemaker,电子邮件. G..