自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 为什么会产生依赖冲突?

问:既然maven有”短路优先“和”第一声明“原则来判断需要使用哪个类,为什么还会发生依赖冲突? 答:想要回答这个问题,不妨思考一下以下两个问题 1、“maven的两个原则发生生命周期的哪一个phase?” 2、“发生jar包冲突时,为什么编译期不报错,但是运行期会报错,jar包冲突的问题为什么就...

2020-05-26 17:58:02 30 0

原创 Kafka监控:consumer消费进度查询方案的演变

文章目录1. 背景2. 方案一:__consumer_offsets2.1 消息格式2.2 代码3. 方案二:AdminClient3.1 流程3.2 代码 1. 背景 大数据平台经常以Kafka作为消息中间件,且需要有完整的针对Kafka的管理和监控体系,例如实时查看: current-offs...

2020-05-11 14:20:31 64 0

原创 Kafka安全认证:SASL/GSSAPI(kerberos)

文章目录kafka和zookeeper开启kerberos认证1. 环境2. 创建主体并生成keytab3. 配置jaas.conf4. 配置kafka server.properties5. 配置kafka zookeeper.properties6. kafka broker+zookeepe...

2020-05-01 21:02:12 125 0

原创 Kafka安全认证:centos7上安装kerberos

文章目录1.kerberos概念介绍2. kerberos认证过程3. kerberos安装4. 创建 KDC 数据库5. 编辑 `kadm5.acl`6. 启动kdc和admin7. 添加principal8. 使用keytab登陆 1.kerberos概念介绍 principal:认证的主体,...

2020-05-01 21:01:19 114 0

原创 Flink原理:这一次带你彻底搞懂watermark

文章目录背景定义生成1. 生成时机2. 生成方式更新规则1. 单并行度2. 多并行度传播窗口触发时机分析1. 示例一2. 示例二3. 示例三如何设置最大乱序时间延迟数据处理1. 定义2. 触发条件3. 示例延迟数据重定向1. 定义2. 示例 背景 我们知道,流处理从事件产生,到流经source,再...

2020-04-23 14:10:58 180 2

原创 Flink问题:记Flink Metrics时断时续问题排查

文章目录1. 背景2. 问题分析2.1 实验设计2.2 源码分析3. 解决方法 1. 背景 用prometheus+pushgateway+grafana监控体系对flink的各项metrics进行监控,出现如下图所示状况: 可以发现,指标每过一些时间就会消失,然后又出现。 2. 问题分析 2....

2020-04-11 22:57:38 254 1

原创 插件化开发进阶篇—利用SPI进行插件化开发

文章目录1. 为什么要进行插件化开发?2.类加载器命名空间3. SPI3.1 示例3.2 源码解析4. class缓存查找机制4.1 findLoadedClass缓存查找4.2 Class.forName缓存查找5. 文件监听机制5.1 示例5.2 源码解析 1. 为什么要进行插件化开发? 1、...

2020-04-09 23:38:49 40 0

原创 插件化开发基础篇—类加载

文章目录1. 什么是类加载?2. 类加载的方式?2.1 显式加载2.2 隐式加载2.2.1 延迟加载3. 类加载的过程4. 双亲委派4.1 确立父子关系4.2 委派过程4.3优缺点5. 打破双亲委派6. 命名空间 1. 什么是类加载? 每个编写的".java"拓展名类文件都存储...

2020-04-07 22:57:00 44 0

原创 mysql redolog binlog 之二阶段提交

文章目录一:什么是redolog和binglog?二:redolog和binlog可以相互替代或者只保留其一吗?1. 可以使用binlog替代redolog进行数据恢复吗?2. 可以只适用redolog而不是用binlog吗?三:为什么redolog和binlog要进行二阶段提交?四:二阶段提交步...

2020-03-20 10:08:41 266 0

原创 mysql MVVC查询需要满足的条件

mysql MVVC用于repeatable read隔离级别,用于解决不可重复度的问题,根据MVVC机制,查询出来的行需满足以下两个条件: 查询出来的行的创建时间小于等于当前事务ID,以确保执行当前事务之时,记录已经存在 查询出来的行的删除时间,要么未定义,要么大于当前事务ID,以确保执行当前...

2020-03-18 08:23:05 52 0

原创 Kafka原理:kafka之mmap文件读写方式

众所周知,kafka之所以吞吐量高,其中的一个重要原因就是因为其consumer在读取事件时使用了mmap的方式,mmap与常规文件读写的区别如下: 参考: https://juejin.im/post/59f8691b51882534af254317#heading-16 https://w...

2020-03-15 00:03:34 250 0

原创 混合云环境下如何通过java代码代理文件上传功能

  背景:现有如下业务,执行代理(node)要代理服务端(server)的上传功能,之所以要这样做,是因为要将整个应用进行混合云部署,即node服务要部署在客户集群对外提供有限端口以确保安全性,而server服务要上云。因此server所提供的上传功能无法直接将文件传到客户内网的hdfs,需要先传...

2020-02-27 11:57:53 111 0

原创 Kafka Connect:kafka connect实时ETL启动与停止脚本

自己搭建了kafka connect实时ETL环境,并编写了shell脚本以方便启动和停止,具体代码如下: 启动脚本: #!/bin/bash #脚本涵盖从启动kafka connect集群到schema-registry和schema-registry-ui的整个实时ETL环境的启动 #日志清...

2019-12-13 10:21:17 113 0

原创 logback配置总结

<root>是根级别的<logger>,本质上没有区别 日志由低级<logger>向高级<logger>传递,不可越级。所谓级别更高,无非是以下两种情况: ①包名更浅 ②比级别更高 低级<logger>和高级<logger>的...

2019-11-28 17:57:58 33 0

原创 关于elasticsearch中_update_by_query接口乐观锁的思考

背景:   给某银行做一个实时计算项目,用户交易记录链路为oracle->ogg->kafka->flink->elasticsearch,交易记录最终到达Elasticsearch中并对外提供查询服务,交易记录中有个printNum字段,用来表示某条交易记录的打印次数,现...

2019-11-04 20:30:05 466 0

原创 centos7中利用systemd.timer设置定时时间同步

背景 centos7安装在windows中的vmware虚拟机中,一旦windows进入睡眠状态,则centos7也会休眠且系统时间会停止,因此centos7的系统时间会逐步比windows慢,想到用定时任务的方式去同步互联网时间,以保持centos7的准确。大家都很熟悉crontab了,但其只能...

2019-10-04 21:22:10 151 0

原创 centos7利用rp-pppoe进行拨号上网

一、配置 离线下载rp-pppoe,注意要下载当前linux版本对应的rpm包 传到centos7系统中,并进行本地安装: yum localinstall rp-pppoe.rpm 启动pppoe配置: pppoe-setup 根据提示输入宽带账号 根据提示输入网卡 根据提示输入主...

2019-10-02 15:13:45 709 0

原创 记一次上传文件超时问题的排查过程

背景: 报错nginx 504 timeout,上传请求的链路如下: 页面请求->nginx->nodejs服务->网关->后端java服务,如果是nginx超时,则nodejs服务、网关、java服务都有嫌疑。 解决: 1、尝试用curl命令进行文件上传模拟: curl ...

2019-09-19 11:21:15 121 0

原创 关于学习的方法论

要么快速地浮光掠影地过一遍,不去追问一二三,知道是什么即可;要么认真记笔记,留下文档,否则等于浪费时间。

2019-09-17 11:57:34 95 0

原创 spring mvc过滤器Filter与druid数据源中Filter中的区别与关联

文章目录一、背景:二、spring mvc中的Filter:二、druid中的Filter: 一、背景:   使用阿里druid数据源,可以在页面对sql和spring bean进行调用频次的监控,以排查慢查询等问题,但是必须得配置一些filter,如Log4jFilter、WallConfig、...

2019-09-03 13:45:51 208 0

原创 mac下使用sshpass让iterm2支持多登录

背景:当前测试机器较多,每次登录时,都需要人工输入,特别浪费时间,影响效率,花一分钟记录在小工具中,可以节约千万个1分钟。你还不用?? 一.安装sshpass 下载:http://sourceforge.net/projects/sshpass/files/ 打开iterm2 解压:tar -z...

2019-08-29 18:26:32 64 0

原创 @Value注解内使用SPEL自定义函数

@Value("#{T(com.cheetah.provider.utils.StringUtil).lower('${cluster.vendor.type}')}") 其中,${cluster.vendor.type}取的application.prop...

2019-08-13 08:37:36 420 0

原创 tar压缩解压和jar压缩解压

tar: 压缩:tar -cvf test.tar test/ 解压:tar -zxvf test.tar.gz jar: 压缩:jar -cvfM0 project.jar ./ 解压:jar -xvf project.jar 参考: https://blog.csdn.net/lc0817/...

2019-07-27 14:21:05 659 0

转载 java序列化Serializable接口

ArrayList序列化: https://www.hollischuang.com/archives/1140 不同的序列化方式: https://www.cnkirito.moe/rpc-serialize-2/ dubbo返回值和参数的序列化: https://github.com/apac...

2019-07-21 10:39:44 53 0

原创 intellij idea显示run dashboard

https://blog.csdn.net/chinoukin/article/details/80577890 https://blog.csdn.net/wokenshin/article/details/81100496

2019-06-29 11:37:16 790 0

原创 springboot报错:Cannot determine embedded database driver class for database type NONE

解决思路: 1、我的当前项目没有用到数据库,为什么会提示数据源错误?显然,是我pom.xml中依赖的其他模块使用到了数据库相关的某个依赖,而maven依赖具有传递性,因此,导致当前项目中也引入了与数据库相关的某个依赖。 2、为什么引入某个数据库相关的依赖就会报错呢,引入的仅仅是一个jar包而已啊,...

2019-06-08 14:01:42 348 0

原创 本地缓存guava cache的过期策略与刷新策略

一、过期策略expireAfterWrite:当缓存项在指定的时间段内没有更新就会被回收。   当达到过期时间,缓存值被置为Null,限制只有1个用户线程去执行新值的加载,其他请求必须阻塞等待这个加载操作完成。在加载完成之后,其他请求的线程会逐一获得锁,去判断是否已被加载完成,每个线程必须轮流地走...

2019-06-03 11:00:45 2835 0

原创 linux滚动查看文件

tail -50f nohup.out

2019-05-31 09:53:09 558 0

原创 linux文件描述符查看与调整

1、文件描述符总量与使用量 cat /proc/sys/fs/file-nr #第一列:为已分配的FD数量 #第二列:为已分配但尚未使用的FD数量 #第三列:为系统可用的最大FD数量 2、获取进程打开的文件描述符 ll /proc/3253/fd #统计数量用 ll /proc/3253/fd...

2019-05-31 09:46:37 1580 0

转载 elasticsearch线程池调优

参考: https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-threadpool.html#fixed-auto-queue-size https://kionf.com/2019/01/22/errorn...

2019-05-29 23:18:34 2740 0

原创 sprintboot单元测试

@RunWith(SpringRunner.class) @SpringBootTest(classes = WebserviceApplication.class) public class demo{ @Autowired private LoadingCache<String, S...

2019-05-29 15:44:12 156 0

原创 linux如何查看是哪个文件或者目录撑爆磁盘

du -s /* | sort -nr 参考:https://blog.csdn.net/a854517900/article/details/80824966

2019-05-29 15:33:41 473 0

原创 RocketMQ如何保证分布式事务最终一致性?

步骤: step1:   实线1向MQ发送消息,此时消息对consumer不可见,即不可被消费; 虚线1执行本地事务并提交事务。 step2:   执行本地事务的回调函数executeLocalTransaction()可以有三种返回值: LocalTransactionState.COMMIT_...

2019-04-06 20:26:11 2583 0

原创 ThreadLocal原理及内存泄露原因

原理: 1、每个线程都维护一个ThreadLocalMap,ThreadLocalMap中的Entry的数据结构是(ThreadLocal,value) 2、get()方法是先从ThreadLocalMap中找到Entry,再从Entry中找到value 内存泄露原因: Entry的数...

2019-03-02 10:41:50 322 0

原创 c语言的编译步骤

参考:https://mp.weixin.qq.com/s/KTREZz7_m2xYRnt2S7Ssaw

2019-01-23 17:46:03 477 0

原创 jsp是否需要编译?

背景:   问了一圈,每个人都一本正经的说,“jsp不需要编译,因为修改jsp之后,不需要重启,页面能立马生效”,恩,这个特性很像html,给大多数人造成了jsp不需要编译的假象,事实真的如此么?   jsp是一种模板引擎,里面可以插入部分java代码,jsp里面的java代码如何得到想要的结...

2019-01-17 22:21:09 3291 0

原创 springboot+mybatis+druid实现多数据源配置,支持注解和xml两种sql书写方式

https://github.com/cheegoday/springboot-demo-djg 要点: 一、依次创建以下几个Bean 数据源:DataSource session工厂:SqlSessionFactory 线程安全session:SqlSessionTemplate ...

2019-01-17 11:28:49 352 1

原创 mybatis中,java Enum与postgresql Enum的映射

背景:     前端传入字符串,后台用java Enum接收,再将该字段插入postgresql Enum字段中。 该过程,涉及两次类型转换: springmvc通过HttpMessageConvert对象将json字符串映射到DTO中的Enum属性。 mybatis通过TypeHan...

2019-01-17 11:28:22 367 0

原创 mongo导出导入表数据

导出 mongoexport --host 192.168.0.221 --port 20058 -d test -c salary --type json --out D:\abc.json 导入 mongoimport --host 192.168.0.221 --port 20058 -d...

2019-01-11 17:29:39 826 0

原创 Java多线程 - Future模式转换成ListenableFuture模式,以及AsyncRestTemplate的原理

一、AsyncRestTemplate Demo: spring4.0提供了RestTemplate的异步调用版本AsyncRestTemplate,用其进行异步调用的demo如下: MultiValueMap headers = new LinkedMultiValueMap(){ { ...

2019-01-06 15:09:42 929 0

提示
确定要删除当前文章?
取消 删除