通过连接发送数据

时间:2014-02-10 08:29:12

标签: json erlang redis rabbitmq

我有一个Erlang应用程序,它产生了几个(可能是数千个)进程。这些进程中的每一个都向接收json的远程服务发出http请求。

一旦进程收到json,它会将它存储在redis上或通过rabbitmq队列发送,其中一些消费者会处理它(我仍然不确定)。

因为对于redis和rabbitmq我必须打开一个连接,我想知道在每个进程中打开和关闭连接是否更好,或者让某种服务器保持每个进程将调用的连接。 / p>

2 个答案:

答案 0 :(得分:1)

我会使用像redis_storage和rabbitmq_storage这样的独立服务器。两者都是简单的服务器,可以管理它们的连接并具有store / 1等功能。根据责任原则,每个人都有自己的责任。您可以先实现redis存储并测试所有内容,如果您改变主意,则实现rabbitmq存储,唯一的修改是更改模块名称。或者你可以同时使用它们。

答案 1 :(得分:0)

你绝对应该为redis / rabbitmq使用单独的连接池。

你听说过poolboy吗? https://github.com/devinus/poolboy

这是工作的工具。