Druid介绍

Druid是一个专为大型数据集上的高性能切片和OLAP分析而设计的数据存储。Druid最常用作为GUI分析应用程序提供动力的数据存储,或者用作需要快速聚合的高度并发API的后端。

Druid架构

Druid拥有一个多进程,分布式架构,旨在实现云友好且易于操作。每个Druid流程类型都可以独立配置和扩展,为您的群集提供最大的灵活性。此设计还提供增强的容错能力:一个组件的中断不会立即影响其他组件。

Druid集群包含多种节点类型,分别是Historical Node、Coordinator Node、Broker Node、Indexing Service Node(包括Overlord、MiddleManager和Peon)以及Realtime Node(包括Firehose和Plumber)。

Druid将整个集群切分成上述角色,有两个目的:

  • 第一,划分Historical Node和Realtime Node,是将历史数据的加载与实时流数据处理切割开来,因为二者都需要占用大量内存与CPU;

  • 第二,划分Coordinator Node和Broker Node,将查询需求与数据如何在集群内分布的需求切割开来,确保用户的查询请求不会影响数据在集群内的分布情况,从而不会造成数据“冷热不均”,局部过热,影响查询性能的问题。

Druid集群内部的实时/批量数据流以及查询请求过程。我们可以看到,实时数据到达Realtime Node,经过Indexing Service,在时间窗口内的数据会停留在Realtime Node内存中,而时间窗口外的数据会组织成Segment存储到Deep Storage中;批量数据经过Indexing Service也会被组织成Segment存储到DeepStorage中,同时Segment的元信息都会被注册到元信息库中,Coordinator Nodes会定期(默认为1分钟)去同步元信息库,感知新生成的Segment,并通知在线的Historical Node去加载Segment,Zookeeper也会更新整个集群内部数据分布拓扑图。

具体步骤

1.pom.xml文件 

<!-- 阿里Druid数据源连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.0</version></dependency>

2.application.properties 文件 

# 连接池配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#启动初始化5个连接
spring.datasource.initialSize=5
#最小空闲数量
spring.datasource.minIdle=5
#最大连接数量
spring.datasource.maxActive=20
# 配置获取连接等待超时的时间
spring.datasource.maxWait=60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.timeBetweenEvictionRunsMillis=60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
# 校验SQL,mysql配置 spring.datasource.validationQuery=SELECT 1 FROM DUAL,如果不配validationQuery项,则下面三项
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
# 打开PSCache,并且指定每个连接上PSCache的大小
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
spring.datasource.filters=stat,wall,logback
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
# 合并多个DruidDataSource的监控数据
spring.datasource.useGlobalDataSourceStat=true
spring.datasource.logSlowSql=true

3.创建配置类

@Configuration
public class WebConfig  {@Bean@ConfigurationProperties(prefix="spring.datasource")public DataSource druid(){DruidDataSource ds = new DruidDataSource();return ds;}//监控@Beanpublic ServletRegistrationBean statViewServlet(){ServletRegistrationBean registrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");Map<String,String> param = new HashMap<>();param.put("loginUsername","admin");param.put("loginPassword","123456");param.put("allow","");//允许访问xxx ip地址param.put("deny","33.122.51.66");//不允许访问xxx ip地址registrationBean.setInitParameters(param);return registrationBean;}//用于监听获取应用的数据,Filter用于收集数据,用于Servlet展现数据@Beanpublic FilterRegistrationBean webStatFilter(){FilterRegistrationBean bean=new FilterRegistrationBean();bean.setFilter(new WebStatFilter());//设置过滤器bean.addUrlPatterns("/*");Map<String,String> param = new HashMap<>();param.put("exclusions","*.png,*.woff,*.js,*.css,/druid/*");bean.setInitParameters(param);return bean;}
}

4.启动服务输入http://IP地址:端口号/druid/login.html登陆Druid

【夏目鬼鬼分享】springboot搭建阿里Druid数据源监控相关推荐

  1. SpringBoot整合阿里Druid数据源及Spring-Data-Jpa

    SpringBoot整合阿里Druid数据源及Spring-Data-Jpa https://mp.weixin.qq.com/s?__biz=MzU0MDEwMjgwNA==&mid=224 ...

  2. SpringBoot(配置druid数据源、配置MyBatis、事务控制、druid 监控)

    SpringBoot 得到最终效果是一个简化到极致的 WEB 开发,但是只要牵扯到 WEB 开发,就绝对不可能缺少 数据层操作,所有的开发都一定秉持着 MVC 设计模式的原则,MVC 里面业务层不可少 ...

  3. SpringBoot(SpringMVC)拦截Druid数据监控页面

    目标 不暴露Druid内置的servlet到公网(防止被爆破.防止Druid出现 0 Day漏洞后被直接波及).拦截请求,使用自定义鉴权机制,再放行请求. 版本信息 Java 17 SpringBoo ...

  4. 企业实战之阿里druid统一监控方案,你了解吗?

    前言 相信大家对阿里的druid数据库连接池很熟悉了,在国内使用数据库操作的时候,绝大部分都会引用druid.当然今天不是介绍怎么使用druid,而是分析一下druid的监控.我们先来回顾一下drui ...

  5. 阿里巴巴的druid数据源-监控

    20180315更新 druid-spring监控 原理,利用spring-aop特性,拦截指定包的方法,分析每个方法的执行时间等参数特性. spring-servlet.xml添加如下代码: < ...

  6. 配置Druid数据源监控

    Druid 数据源具有监控的功能,并提供了一个 web 界面方便用户查看. 所以第一步需要设置 Druid 的后台管理页面,比如 登录账号.密码 等:配置后台管理: //配置 Druid 监控管理后台 ...

  7. spring boot 中阿里druid 数据源配置及密码加密

    方式一: 1.spring.datasource配置 spring:datasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql ...

  8. 阿里DRUID数据源

    Druid是Java语言中最好的数据库连接池.Druid能够提供强大的监控和扩展功能. https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81 ...

  9. SpringBoot项目去除druid监控的阿里广告

    一. 阿里Druid广告的介绍 如果使用的是阿里Druid的数据库连接池,那么会自带一个数据库的监控页面. 但是其页面底部会有阿里的广告,如下图所示,并且在其最下方的作者申明中, 有一个作者的链接,会 ...

最新文章

  1. 电脑回收站删除的文件怎么恢复,原来这么简单
  2. localsandbox 如何响应tile点击事件
  3. php如何封装类内乡通南阳的_PHP类(三)-类的封装
  4. python语音播放文本_python将文本转化成语音并播放
  5. TabBar与下拉列表访问数据与刷新
  6. 中国送餐行业市场供需与战略研究报告
  7. hdu2847(2009多校第四场) 01串添加最少01使被k整除(暴力)
  8. Django2.0异常:'Specifying a namespace in include() without providing an app_name '
  9. $.type 怎么精确判断对象类型的 --(源码学习2)
  10. 07_封装丶静态和工具类
  11. 数据分析师初级—中级—高级,每个阶段都需要学习什么?
  12. Java FileReader读文件
  13. 防止服务器被修改,教您如何防止IE被恶意修改
  14. 2022-2028年全球与中国救生艇行业市场前瞻与投资战略规划分析
  15. 网格设计版式设计_编辑版式,排除项和CSS网格
  16. 8.3 折特惠票仅剩 4 天!「2019 嵌入式智能国际大会」全日程大公开!
  17. 程序员修炼之路(三)一个清华大学毕业生做猎头的感受(转)
  18. IT 攻城狮必备的十大算法思想
  19. html2canvas + jspdf 实现 html导出pdf
  20. 事件之事件类型-焦点事件(FocusEvent)

热门文章

  1. free结果输出中的-/+ buffers/cache是什么意思
  2. 【行为管理篇】02. 路由模式连接 ❀ 深信服上网行为管理
  3. 北京星美影院等五家企业因拒收现金被央行警告处罚
  4. 囚徒困境困境_所以你现在看到了社会困境
  5. js 使用 canvas 绘制地图路线
  6. arcgis如何打开tif_ArcGIS的目录、内容列表的布局
  7. 使用for循环加if-else实现两个数最小公倍数和最大公约数的计算
  8. Pairs(暴力,超详细简单)
  9. cdm 图片 转_PowerDesigner之CDM、PDM、SQL之间转换
  10. 微软输入法怎么最小化到托盘_微软推出 Windows 10X 系统模拟器,未来的双屏电脑系统长这样?...