Spring boot 如何限制运行microservices的spring boot应用程序创建的数据库连接

Spring boot 如何限制运行microservices的spring boot应用程序创建的数据库连接,spring-boot,tomcat,database-connection,microservices,connection-pooling,Spring Boot,Tomcat,Database Connection,Microservices,Connection Pooling,我正在做我的学校项目,用微服务架构制作一个应用程序(用maven和spring boot JPA) 我正在使用的硬件: aws RDS(最大DB连接为66,这导致了我的问题) aws ec2无实例层 我有3个微服务:员工、工资和假期。 然而,只有3个微服务在运行,我的数据库连接达到了40+。 我不知道如何限制服务可以创建的DB连接数 经过一些研究,我遇到了术语“连接池”,所以我尝试设置tomcat连接池 这是配置(我两个都做了),但它不起作用 如果配置正确,我的应用程序最多只能进行5次活动连接,

我正在做我的学校项目,用微服务架构制作一个应用程序(用maven和spring boot JPA) 我正在使用的硬件: aws RDS(最大DB连接为66,这导致了我的问题) aws ec2无实例层 我有3个微服务:员工、工资和假期。 然而,只有3个微服务在运行,我的数据库连接达到了40+。 我不知道如何限制服务可以创建的DB连接数

经过一些研究,我遇到了术语“连接池”,所以我尝试设置tomcat连接池

这是配置(我两个都做了),但它不起作用 如果配置正确,我的应用程序最多只能进行5次活动连接,我这样说对吗

spring.datasource.tomcat.initial-size=5
spring.datasource.tomcat.max-wait=20000
spring.datasource.tomcat.max-active=5
spring.datasource.tomcat.max-idle=5
spring.datasource.tomcat.min-idle=1
spring.datasource.tomcat.default-auto-commit=true   
这是查询的代码

public interface EmployeeRepository extends JpaRepository<Employee, Integer> {
    @Query(
            value = "select * from itsa.Employee;",
            nativeQuery = true)
    List<Employee> findAllEmployee();

    @Query(
            value = "SELECT * FROM Employee where id = :id",
            nativeQuery = true)
    List<Employee> findEmp(@Param("id") int id);
public接口EmployeeRepository扩展了JpaRepository{
@质疑(
value=“从itsa.Employee中选择*”,
nativeQuery=true)
列出findAllEmployee();
@质疑(
value=“从员工中选择*,其中id=:id”,
nativeQuery=true)
列表findEmp(@Param(“id”)int-id);

Spring boot中的默认CP是HikariCP。一旦您在pom.xml中包含Spring boot starter数据jpa,您将使用默认值为您配置HikariCP

如果您想让配置生效,您需要排除HikariCP并包括tomcat-cp。为此,您需要对pom.xml进行以下更改

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    <exclusions>
        <exclusion>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-jdbc</artifactId>
    <version>9.0.10</version>
</dependency>

org.springframework.boot
spring引导启动器数据jpa
com.zaxxer
希卡里普
org.apache.tomcat
TomcatJDBC
9.0.10
希望这有助于解决您的问题