【发布时间】:2019-02-16 13:22:55
【问题描述】:
我正在使用 spring boot + spring cloud + spring JDBC 为单体应用程序开发微服务。 目前应用通过tomcat JNDI连接池连接单个数据库。
我们这里有个瓶颈,暂时不去改变数据库架构,因为db对象多,与其他系统的依赖关系太紧等等各种原因。
所以我们根据应用程序特性隔离了微服务。我担心的是,如果我们开发的微服务每个都有自己的连接池,那么到数据库的连接数量会成倍增加。
目前,我正在考虑两种解决方案
计算每个应用程序功能当前正在使用的连接数并达到每个服务的最大/最小连接参数 - 这是一个非常繁琐的过程,我们没有任何机制来获取连接每个应用功能的计数。
开发具有单个连接池的数据微服务,该连接池从其他 MS 获取查询对象,触发对数据库的查询并将结果集对象返回给调用者。
不确定第二种方法是否是微服务架构中的最佳实践。
您能否建议任何其他有助于 目前情况?
【问题讨论】:
标签: spring-boot connection-pooling spring-jdbc spring-cloud-netflix