随笔分类 -  原创

摘要:DolphinScheduler在2020年2月24日发布了新版本1.2.1,从版本号就可以看出,这是一个小版本。主要涉及BUG修复、功能增强、新特性三个方面,我们会根据其发布内容,做简要的源码分析。 由于涉及内容较多,前端功能不再分析。 Worker Server日志脱敏 主要是对日志中的密码进行 阅读全文
posted @ 2020-02-28 18:00 gabry.wu 阅读(1267) 评论(0) 推荐(0) 编辑
摘要:DolphinScheduler源码分析之任务日志 任务日志打印在调度系统中算是一个比较重要的功能,下面就简要分析一下其打印的逻辑和前端页面查询的流程。 AbstractTask 所有的任务都会继承AbstractTask,这个抽象类有一个比较重要的字段就是logger,其实也就是一个org.slf 阅读全文
posted @ 2020-01-20 14:47 gabry.wu 阅读(6170) 评论(0) 推荐(0) 编辑
摘要:DolphinScheduler源码分析 本博客是基于1.2.0版本进行分析,与最新版本的实现有一些出入,还请读者辩证的看待本源码分析。具体细节可能描述的不是很准确,仅供参考 源码版本 1.2.0 技术框架 所有模块均采用比较流行的SprintBoot框架 架构图 重要概念 流程定义 在Dolphi 阅读全文
posted @ 2020-01-07 16:33 gabry.wu 阅读(13352) 评论(5) 推荐(3) 编辑
摘要:今天有小伙伴求助,线上一个应用的nohup.out日志不更新了,但进程还是正常的。此时需要查看这个日志排查一些问题,这可怎么办呢? nohup.out文件的更新时间停留在了昨天9点36,日志也刚好打到这个时间点。 但后面的日志去哪里了呢?这个问题就优点难办了,原因可能很多。比如不小心把文件删除了,或 阅读全文
posted @ 2019-12-26 11:40 gabry.wu 阅读(2091) 评论(4) 推荐(0) 编辑
摘要:目前的数仓大概分为离线数仓和实时数仓。离线数仓一般是T+1的数据ETL方案;实时数仓一般是分钟级别甚至更短的时间内的ETL方案。实时数仓一般是将上游业务库的数据通过binlog等形式,实时抽取到Kafka,进行实时ETL。但目前主流的实时数仓也会细分为两类,一类是标准的实时数仓,所有的ETL过程都通 阅读全文
posted @ 2019-12-26 09:33 gabry.wu 阅读(3750) 评论(0) 推荐(0) 编辑
摘要:在之前的akka设计模式系列-消息模型中,我们介绍了akka的消息设计方案,但随着实践的深入,发现了一些问题,这里重新梳理一下设计方法,避免之前的错误、不当的观点给大家带来误解。 阅读全文
posted @ 2019-10-23 16:21 gabry.wu 阅读(507) 评论(0) 推荐(0) 编辑
摘要:在编译CDH版本的各个开源软件时,需要从cdh-repo下载对应的jar包,但发现下载速度非常慢,甚至有时候出现下载异常的情况。 下面是国内可用的、速度非常快的一个maven代理仓库,亲测可用: https://repo.rdc.aliyun.com/repository/82963-release 阅读全文
posted @ 2019-08-06 21:20 gabry.wu 阅读(988) 评论(2) 推荐(0) 编辑
摘要:背景: 随着微服务的盛行,做开发时不可避免的要涉及第三方接口,安全起见,这些接口都会需要一个token参数。而token一般都会有一个过期时间,比如2小时或者30分钟。那么如何在自己的应用中存储并管理这些token呢? 常见方案: 内存缓存;第三方缓存 我们一般都会给每个第三方设置一个过期时间参数, 阅读全文
posted @ 2019-06-10 16:27 gabry.wu 阅读(4103) 评论(0) 推荐(0) 编辑
摘要:本文介绍Phoenix在2345公司的实践,主要是实时查询平台的背景、难点、Phoenix解决的问题、Phoenix-Sql的优化以及Phoenix与实时数仓的融合思路 阅读全文
posted @ 2019-06-06 15:03 gabry.wu 阅读(646) 评论(0) 推荐(0) 编辑
摘要:最近在做实时数仓,需要兼顾离线和实时两种查询方式,大致的方案是数据通过binlog抽取,经Phoenix插入,hive映射hbase表;Phoenix创建索引,实时查询Phoenix;离线查询hive。(这个方案后面再写博客单独介绍) 但这都不是重点,重点是为了避免或者技术上100%解决binlog 阅读全文
posted @ 2019-02-22 11:05 gabry.wu 阅读(548) 评论(0) 推荐(0) 编辑
摘要:最近在某微信技术群,有人问到如何生成5位唯一数字+字母字符串的算法,要保证生成的字符串唯一,且字符串内部也要唯一。 怎么样,这个需求是不是很简单,也有点特殊呢?简单是指需求简单,特殊是指,字符串长度要求是5位,而不是更长。根据群里的讨论,有以下解决方案: UUID生成随机字符串,并控制字符串长度。估 阅读全文
posted @ 2018-08-30 15:59 gabry.wu 阅读(1309) 评论(0) 推荐(0) 编辑
摘要:本博客介绍一种AOP、无侵入的akka监控方案,方便大家在生产使用akka的过程中对akka进行监控。 对于自身javaer来说,AOP三个字母基本就解释清楚了akka监控框架的原理。哈哈哈,不过我这里还是啰嗦一点,把相关的方案和框架介绍一下。 无侵入监控方案,不管是对akka还是其他java应用来 阅读全文
posted @ 2018-08-28 10:27 gabry.wu 阅读(1737) 评论(0) 推荐(1) 编辑
摘要:在对JavaBean做序列化时,我们可能在某些场景希望前后兼容性好一些。比如所有的javaBean都序列化后保存在数据库,用的时候需要反序列化创建。随着业务的发展,数据模型可能会进行变更,那么原来的数据进行反序列化时可能会遇到版本不一致的问题。作者在对drools的Fact建模时就遇到了类似问题。那 阅读全文
posted @ 2018-06-07 10:00 gabry.wu 阅读(1078) 评论(0) 推荐(0) 编辑