【问题标题】:When using eredis, should I use a singleton or per-process client?使用 eredis 时,我应该使用单例客户端还是按进程客户端?
【发布时间】:2015-12-10 02:08:18
【问题描述】:

我正在用 Erlang 构建一个简单的 websocket 服务器。我正在使用 Redis 作为后备存储,我想知道是否应该只创建一个单例客户端并在创建的所有不同 Erlang 进程(每个连接不同的进程)之间共享它,或者我是否应该每次打开一个新客户端需要在每个进程中检查 Redis。

提前致谢。

【问题讨论】:

    标签: erlang


    【解决方案1】:

    我建议您从单个实例开始,然后分析您的应用程序以发现瓶颈。稍后您可以将 https://github.com/devinus/poolboy 添加到您的项目中,并使用 eredis 客户端池而不是单个客户端。每个进程的客户端听起来不是一个好主意,但如果您不打算有很多这样的进程,您可以这样做。

    【讨论】:

    • 谢谢。我正在为 10K 并发客户端进行设计,因此我想我将使用单个共享实例来启动并使用 poolboy 进行扩展。
    猜你喜欢
    • 2012-04-19
    • 2015-11-09
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    • 2022-01-16
    • 2011-12-06
    • 2019-02-06
    相关资源
    最近更新 更多