我有一个经典的spray+slick http服务器,它是我的数据库访问层,我希望能够有一个健康检查路由来确保我的服务器仍然能够到达我的数据库。
我可以通过执行通用 sql 查询来做到这一点,但我想知道是否有更好的方法来检查连接是否活动且可用,而无需实际增加数据库负载(或至少是可能的最小负载)。
所以差不多:
val db = Database.forConfig("app.mydb")
[...]
db.???? // Do the check here
为什么要避免对数据库执行查询?
我认为最好的健康检查是像应用程序一样实际使用数据库(实际连接并运行查询)。考虑到这一点,您可以对数据库执行SELECT 1
,并验证它是否相应地响应。