V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
esolve
V2EX  ›  问与答

druid,连接池和微服务的问题

  •  
  •   esolve · 2018-08-10 01:26:00 +08:00 · 1293 次点击
    这是一个创建于 2323 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我所知道的 druid 配置,是在一个服务上进行配置

    加入一台机器上装有 mysql

    根据 https://blog.csdn.net/w05980598/article/details/78797310/ 说法

    连接池的大小公式是:

    连接数 = ((核心数 * 2) + 有效磁盘数)

    而连接池大小的配置是在单一服务上配置

    在 N 个服务访问这个 mysql 机器的情况下

    加入每个服务的配置都是上述公式

    那么总的连接池数就是 N*((核心数 * 2) + 有效磁盘数)了

    这不是悖论吗?

    如何理解?

    其次,配置监控系统 Servlet 也是在单个服务下配置

    而访问 url 诸如这种

    http://IP:PORT/druid

    那 N 个微服务岂不是会有 N 个配置监控系统 Servlet?

    假如有几个微服务处于同一台机器上

    那就还要配置不同的 url

    这样感觉怪怪的?

    或许一个解决方案是把对同一个 mysql 机器进行访问的所有的 dao 层

    从各个微服务中抽出来,独立操作做成一个微服务可以解决上述问题?

    这样的架构奇怪吗?

    artandlol
        1
    artandlol  
       2018-08-10 08:41:08 +08:00
    感觉你描述说给别人听的时候,尽量把前提背景都说下,一上来就好几个问号没人知道你再什么情况下出现什么问题
    esolve
        2
    esolve  
    OP
       2018-08-10 10:29:15 +08:00
    @artandlol 背景就是一台 mysql 机器,连接池大小最好设为 ((核心数 * 2) + 有效磁盘数)
    假如有一个服务访问这个 mysql 机器
    那么这个服务的 druid 连接数设定就是((核心数 * 2) + 有效磁盘数)
    但是假如有 N 个服务访问这个机器
    怎么办?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5332 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 07:00 · PVG 15:00 · LAX 23:00 · JFK 02:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.