【发布时间】:2013-06-03 19:04:21
【问题描述】:
我需要通过 tcp 在 nodejs 和 erlang 进程之间传递数据。 Erlang 进程是一种 api 服务器,它从 nodejs 进程接收数据并进行一些处理。
我想使用 json 作为数据结构,并使用 ejson 来编码/解码消息。但是,在进行基准测试时,我发现解码非常慢。大约 20k 信息/秒。
有没有更好或更快的方法通过 tcp 向 erlang 发送数据。有没有办法让我可以在 erlang 中跳过这个解码过程。
目前数据属于这种类型:
{ “事件”:“某些事件”, “频道”:“某个频道”, }
erlang会根据事件和通道做一些处理。
【问题讨论】:
-
为什么你认为这很慢?你用了多少进程?您的基准测试的详细信息是什么?你真的需要超过 20k msg/sec 吗?
-
我需要超过 40k msg/sec。现在我正在使用单个进程,但现在我意识到将其委托给多个进程将为我们提供水平缩放。所以我现在计划使用多个进程进行解析的循环法。