带异步主从复制的PostgreSQL自动群集

2020-06-03 21:56:00

作为大多数应用程序的关键组件,数据必须在动态变化的环境中可供最终用户使用。在系统发生故障的情况下,将数据存储在一个位置是有风险的。因此,您需要想出一个如何确保高可用性的策略,其中一个解决方案是在多个同步的服务器上维护数据。

将数据从一个数据库复制到另一个数据库可以减少系统故障、提高工作效率、运行备份服务和分析数据,而不会降低性能。

在众多的数据库集群解决方案中,Jelastic为PostgreSQL提供了基于认证模板的主从异步复制。默认情况下,它部署两个数据库容器(每个角色一个-主角色和从角色)。

主(主)服务器运行数据库的活动实例并接受读写操作,而备用(从)服务器运行活动数据库的副本并处理只读操作。因此,如果主数据库由于容器故障或数据库损坏而出现故障,则必须将从服务器(在单独的容器中运行)提升为主服务器以保留写入,以确保数据库可用性。

在集群拓扑中,每个数据库容器都有一个默认的垂直伸缩,从2个保留到32个动态Cloudlet(高达4GiB的RAM和12.8 GHz的CPU),根据传入的负载动态分配。随后,您可以按照上面链接的指南更改资源分配限制。

在Jelastic中,自动集群是通过一个特殊设计的开关实现的,该开关使集群比以往任何时候都更容易。为此,只需调用仪表板上的拓扑向导,选择软件堆栈(例如PostgreSQL 12.3),然后将自动群集开关滑动到右侧即可。

提示:在Jelastic JPS Collection中提供了PostgreSQL复制包源文件以及其他有用的解决方案,通过从适当的存储库中导入MANIFEST.yaml或MANIFEST.jps文件,可以集成这些解决方案中的任何一个。

数据库集群安装完成后,您将看到一条确认消息,其中包含主节点URL和数据库访问凭据。所有这些信息都是通过电子邮件复制的。

注意:如果群集安装了自动群集功能,则凭据仅通过电子邮件发送。

现在,让我们将主数据库投入使用,以检查数据是否成功复制到从数据库。

为了确保正确复制数据,我们将在主容器中创建一个新的DB实例,并检查它在从容器中的存在。

1.单击PostgreSQL主节点旁边的在浏览器中打开,以启动phpPgAdmin的web界面。

2.在服务器下,单击PostgreSQL,使用您在集群安装时获得的凭据登录。

现在,当在主节点中创建数据库时,让我们检查一下从节点中的复制数据。

要确保从主数据库节点到从数据库节点的数据复制按预期工作,请执行以下步骤。

1.单击PostgreSQL Slave节点旁边的在浏览器中打开以启动phpPgAdmin Web界面。

2.使用与访问主节点相同的用户名和密码访问管理界面。

就这样!。主从异步复制的PostgreSQL环境已经启动,可以进行数据处理了。

下一步,您可以将此PostgreSQL复制数据库连接到您的项目。该过程取决于应用程序的具体情况,因此请按照以下说明进行操作:

自己尝试一下,在复制的PostgreSQL数据库中处理基本数据的多个副本是多么容易,而不需要进行手动配置。在Jelastic云托管提供商中注册,即可获得免费帐户进行测试。