将PostgreSQL连接到rabbitMQ

gcuhipw9  于 2022-11-23  发布在  PostgreSQL
关注(0)|答案(1)|浏览(340)

我正在尝试让RabbitMQ监视postgresql数据库,以便在数据库行更新时创建一个消息队列。最终的计划是将此消息队列作为一个作业馈送到AWS EKS(Elastic Kubernetes Service)集群中。
我读过很多方法,但作为RabbitMQ的新手,它们仍然令人困惑,而且许多方法似乎是5年前写的,所以我不确定它们是否还能与当前版本的postgres和rabbitmq一起工作。
我已经按照this guide安装了area 51/notify-rabbit docker容器,它可以通过一个节点应用程序连接这两个容器,但是当我运行docker容器时,它立即停止了,似乎没有做任何事情。
还有this guide,它使用一个go应用程序来连接两者,但我宁愿不使用docker容器之外的Go。
此外,还有this method,从一个多年未更新的存储库安装pg_amqp扩展,它允许从PostgreSQL到RabbitMQ的直接连接。然而,当我按照这个方法尝试在我的Postgres db(postgresql 12)上安装pg_amqp时,我无法使用psql连接到数据库,得到典型的错误:

psql: could not connect to server: No such file or directory
 Is the server running locally and accepting
 connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

我目前的设置是,我在AWS EC2示例的Docker容器中安装了一个rabbitMQ服务器,我可以通过互联网访问它。我运行了以下命令来安装和运行它:

docker pull rabbitmq:3-management
docker run --rm -p 15672:15672 -p 5672:5672 rabbitmq:3-management

postgresql数据库在一个单独的EC2示例上运行,两个示例都打开了访问每个服务器数据所需的端口。
我也考虑过使用Amazon SQS,但是它似乎没有任何关于Postgresql链接的信息。自从2017/18年以来,我还没有真正看到任何关于这方面的指南或Stack Overflow问题,所以我想知道这是否仍然是为kubernetes系统创建消息代理的最佳方式?非常感谢任何关于这方面的帮助/提示。

knsnq2tg

knsnq2tg1#

最后,我决定最好创建一些简单的Python脚本来执行LISTEN/NOTIFY步骤,并基于以下代码https://gist.github.com/kissgyorgy/beccba1291de962702ea9c237a900c79将流量从PostgreSQL路由到RabbitMQ
我在Docker容器内设置它,并将它们设置为在我的Kubernetes集群中运行,这样如果它们失败,它们就在自动重新启动范围内。

相关问题