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

2018-08-10 01:26:00 +08:00
 esolve

我所知道的 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 层

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

这样的架构奇怪吗?

1288 次点击
所在节点    问与答
2 条回复
artandlol
2018-08-10 08:41:08 +08:00
感觉你描述说给别人听的时候,尽量把前提背景都说下,一上来就好几个问号没人知道你再什么情况下出现什么问题
esolve
2018-08-10 10:29:15 +08:00
@artandlol 背景就是一台 mysql 机器,连接池大小最好设为 ((核心数 * 2) + 有效磁盘数)
假如有一个服务访问这个 mysql 机器
那么这个服务的 druid 连接数设定就是((核心数 * 2) + 有效磁盘数)
但是假如有 N 个服务访问这个机器
怎么办?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/478457

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX