搭建监控日志系统 Prometheus是一个开源的系统监控和报警系统,基于谷歌的borgemon使用go语言开发,使用TSDB数据库,所以支持云原生,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。
反射工具类ReflectionUtils AVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。通俗点讲,反射就是把java类中的各种成分映射成一个个的Java对象。例如:类的class声明(class对象),变量(field),方法(method)等等信息,利用反射技术可以对一个类进行解剖,动态获取信息进行处理。1、获取Class对象的三种方式1.1 Object ——> getClass(
ClickHouse插入频繁报错优化 初次使用ClickHouse,基本都会碰到如下图中too many parts的报错。本文将具体介绍报错原因和优化方案。频繁写入ClickHouse报错原因如上图所示,clickhouse操作数据的最小操作单元是block,每次写入,都会按照zookeeper记录的唯一自增的blockId,按照PartitionId_blockId_blockId_0生成data parts,也就是小文件,然后后台会有merge线程,不定时的讲多个小文件进行合并,生成PartitionId_MinBlockNum_
clickHouse副本和同步机制 文章目录1. 副本的基本概念1. 1 什么是副本1. 2 副本写入流程简单示例1. 3 多副本的配置1. 4 clickhouse创建副本表2. 副本同步原理2.1 clickhouse目录2.2 ClickHouse在zk的目录结构了解clickhouse底层的多副本模式和副本数据同步机制,需要对clickhouse的基础以及clickhouse的分布式表以及分区表有一定的了解,具体可以参考我之前的文章:clickHouse接入指南和排坑日记clickHouse分区和分片详解1. 副本的基本概念
clickHouse本地表和分布式表 clickHouse接入指南和排坑日记clickHouse分区和分片详解1. clickhouse简介和特点ClickHouse是一个面向联机分析处理(OLAP)的开源的面向列式存储的DBMS,简称CK, 与Hadoop, Spark相比,ClickHouse很轻量级,由俄罗斯第一大搜索引擎Yandex于2016年6月发布, 开发语言为C++。ClickHouse的特点:开源的列存储数据库管理系统,支持线性扩展,简单方便,高可靠性容错跑分快:比Vertica快5倍,比Hive快279倍,比My
redis基础和使用(三)--单线程与IO多路复用 文章目录1 Redis为什么是单线程的1.1 官方解释1.2 Redis单线程优势1.3 Redis 不仅仅是单线程1.4 Redis的性能瓶颈2 IO多路复用2.1 文件描述符和文件句柄2.2 什么是IO多路复用?2.3 Redis的IO多路复用3 多线程IO多路复用3.1 产生背景3.2 Redis多线程实现思路3.3 Redis多线程具体实现1 Redis为什么是单线程的1.1 官方解释Redis官网–>Documentation–>Tutorials & FAQ–>F
解决ubuntu源更新和下载问题 更新报错示例Get:1 http://security.debian.org jessie/updates InRelease [44.9 kB]Ign http://deb.debian.org jessie InRelease Get:2 http://deb.debian.org jessie-updates InRelease [16.3 kB]Ign http://deb.debian.org jessie-backports InRelea
redis基础和使用(二)--pipeline 文章目录1.pipeline出现的背景1.1 为什么需要pippeline1.2 pepeline的性能2.pipeline使用方式2.1 使用简介2.2 代码示例2.3 封装pipeline工具类3.pipeline不保证原子性3.pipeline适用场景4.pipeline缺点5.pipeline源码解析1.pipeline出现的背景1.1 为什么需要pippelineredis客户端执行一条命令分4个过程: 发送命令-〉命令排队-〉命令执行-〉返回结果这个过程称为Round trip t
redis基础和使用篇(一)--简介 文章目录1 redis简介1.1 什么是redis1.2 redis特性2 redis数据结构2.1 String--字符串2.2 List--列表2.3 hash--哈希2.4 Set--集合2.5 zset--有序集合2.6 3种高级数据结构3 redis使用场景3.1 热点数据的缓存3.2 分布式锁3.3 限时业务的运用3.4 计算器相关处理3.5 排行榜相关问题3.6 点赞、好友等相互关系的存储4 redis java客户端4.1 Jedis4.1.1 Jedis特点4.1.2 Jedis使用4.2
tcpdump线上抓包排查问题指南 前言开发过程中,本地程序可以进行debug自测,但是,针对服务调用和联调,需要定位问题的时候,可能就需要抓包去定位一些非代码层面或者服务注入相关的问题。因为在程序运行时,数据都是以数据包的形式进行传输,发送和接收数据的过程中,可能发出的数据有错误的数据,也可能接收的包中有错误的数据,从而导致程序处理出错,因此我们直接抓取传输的数据包,通过其他工具或方法解析数据包中的原始数据,可以定位是否因为数据输错导致的程序出错,如果出错又是因为那一部分的数据出错等。常见的抓包工具有F12、Fiddler、Charles
编解码和加密详解 文章目录1. 编码和解码(encode/decode)算法1.1 Base64算法1.2 压缩算法1.3 Java序列化和反序列化2. 常见加密算法2.1 什么是加密算法2.2 MD5算法2.3 SHA1算法2.4 HMAC算法3. 结论1. 编码和解码(encode/decode)算法简单理解,编码就是把信息按照一定的规则进行组织,变换消息形式的过程,所谓解码就是把收到的信息按照一定的规则进行解析,并且这个规则往往是固定的,必须是编码者和解码者事先都知道或约定好的。常见的编码手
一些常见好用的java工具类 文章目录1. 计算器2. 时间处理3. sha1加密4. HttpClient工具类5. json处理工具类1. 计算器import java.util.ArrayList;import java.util.Stack;/** * 计算使用util * * @author aa * @since 2020-11-16 */public class CalculatorUtil { /** * 判断是否无效的运算结果 * * @param n
clickHouse分区和分片详解 文章目录1. 什么是clickhouse?2. 分区和分片2.1 分区2.2 分片3. 分区相关操作3.1 创建分区表3.2 删除分区3.3 查询分区信息4. 分片原理5. clickhouse连表查询5.1 Join 查询5.2 clickHouse单机JOIN实现5.3 clickHouse分布式JOIN实现5.4 数据预分布实现Colocate JOIN1. 什么是clickhouse?ClickHouse是一个面向联机分析处理(OLAP)的开源的面向列式存储的DBMS,简称CK, 与Hado
常见日志框架介绍和对比(log4j,logback,log4j2) 文章目录1. 什么是slf4j?2. log4j简介和配置2.1 log4j介绍2.2 log4j三大组件2.3 log4j pom依赖引入2.4 配置log4j3. logback简介和配置3.1 logback简介3.2 logback pom依赖引入3.3 logback 配置模版3.4 logback总结4. logback和log4j对比5. log4j2简介和配置5.1 log4j2简介5.2 log4j2常见组件5.3 log4j2配置文件5.4 log4j2异步日志
spring常用注解anotation和@Conditional bean注入相关注解@Configuration:标注在类上,相当于把该类作为spring的xml配置文件中的,配置spring容器(应用上下文),其实就是替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器;@Bean:注解用于创建一个Bean对象,然后这个Bean
mysql底层原理面试题,看这一篇就足够 文章目录1. 什么是mysql?2. mysql存储引擎2.1 mysql存储引擎有哪些2.2 各存储引擎的区别3. mysql事务隔离级别3.1 什么是事务3.2 事务的 ACID3.3 mysql的四种隔离级别和分别存在的问题4. MVCC多版本并发控制初探4.1 当前读和快照读4.2 什么是MVCC4.3 MVCC的实现依赖5. mysql事务日志5.1 redo log和undo log5.2 undo日志实现记录版本线性表(链表)6. Read View(读视图)6.1 什么是Read View
maven自动化排包和pom冲突解决插件Maven Helper 1. 安装插件Maven Helper由于我使用的idea,本文将以idea为例介绍Maven Helper的安装和使用。打开设置界面(command + 逗号)搜索plugin菜单在大红色箭头处查找需要安装的插件名称Maven Helper,第一个便是点击install安装插件完成后重启idea2. 查看pom依赖树打开pom文件,下方会多处一列切换菜单Text模式下就是我们常用的pom文件形式,切换到Dependency Analyzer,可以看
HTTP传递文件和接收文件处理之MultipartFile 1. 什么是MultipartFile?MultipartFile是spring用来处理文件封装的一个接口,继承自InputStreamSource,而InputStreamSource接口中封装了getInputStream方法,所以这也是为什么MultipartFile能处理文件流的原因。2. MultipartFile有哪些方法方法名称描述String getName()获取的是前后端约定的传入文件的参数的名称String getOriginalFileName()
kafka接入和集成springBoot 1.非spring项目配置kafka很多时候,kafka服务都是单纯的数据清洗服务(比如单纯消息异步监听处理,非关键性业务剥离,大数据流式处理等)或者监听报警服务(比如限流,削峰,整合flink监听报警等),其实这个时候是不需要依赖spring的,可以简化服务配置。1. 在resources目录下创建kafka配置文件(根据不同环境进行配置文件的编写,kafka-test.properties):#需要消费的topictopic=bi-data-sam#消费topic下的具体某一个groupId
ClickHouse接入指南和排坑日记 1. clickhouse简介和特点ClickHouse是一个面向联机分析处理(OLAP)的开源的面向列式存储的DBMS,简称CK, 与Hadoop, Spark相比,ClickHouse很轻量级,由俄罗斯第一大搜索引擎Yandex于2016年6月发布, 开发语言为C++。ClickHouse的特点:开源的列存储数据库管理系统,支持线性扩展,简单方便,高可靠性容错跑分快:比Vertica快5倍,比Hive快279倍,比MySQL快800倍,其可处理的数据级别已达到10亿级别;功能多:支持数据统计