Druid 最常被当做数据库,用以支持实时摄取、高查询性能和高稳定运行的应用场景。 例如,Druid 通常被用来作为图形分析工具的数据源来提供数据,或当有需要高聚和高并发的后端 API。 同时 Druid 也非常适合针对面向事件类型的数据。
通常可以使用 Druid 作为数据源的系统包括有:
Druid 的核心架构集合了数据仓库(data warehouses),时序数据库(timeseries databases),日志分析系统(logsearch systems)的概念。
maxresdefault1280 720 83.7 KB
如果你对上面的各种数据类型,数据库不是非常了解的话,那么我们建议你进行一些搜索来了解相关的一些定义和提供的功能。
Druid 的一些关键特性包括有:
public DruidPooledConnection getConnectionDirect(long maxWaitMillis) throws SQLException {// 超时重试次数,达到这个值就报错
int notFullTimeoutRetryCnt = 0
for () {
// handle notFullTimeoutRetry
DruidPooledConnection poolableConnection
try {
// 核心逻辑
poolableConnection = getConnectionInternal(maxWaitMillis)
} catch (GetConnectionTimeoutException ex) {
if (notFullTimeoutRetryCnt <= this.notFullTimeoutRetryCount &&!isFull()) {
notFullTimeoutRetryCnt++
if (LOG.isWarnEnabled()) {
LOG.warn("get connection timeout retry : " + notFullTimeoutRetryCnt)
}
continue
}
throw ex
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)