Danner Blog

Took the sourest lemon that life has to offer and turned it into something resembling lemonade.

Spring Boot 初识

自动配置 Auto Configuration spring-boot-autoconfiguration jar 包含 Spring Boot 自动配置代码。 开启:@EnableAutoConfiguration @SpringBootApplication 已包含 @EnableAutoConfiguration,实际使用直接 @SpringBootA...

Flink 延迟标记

Flink 有四类元素在流转 StreamRecord、Watermark、StreamStatus、LatencyMarker。本文分析 LatencyMarker,延迟测量功能(event 从Source流到当前算子经过的时间,不包含event 处理的时间)。 先看LatencyMarker结构体 public final class LatencyMarker extends St...

Flink SQL 之 count(distinct)


Flink SQL 之 TOPN

tEnv.executeSql( s""" |CREATE TABLE table1 ( | name STRING, | cnt int, | procTime as proctime() |) WITH ( | 'connector' = 'kafka',...

Flink Shuffle 机制

参考资料 批流统一计算引擎的动力源泉—Shuffle机制的重构与优化

Flink SQL 代码自动生成之 janino

SQL 加速有两种方式:代码自动生成和向量化,本文分析Flink SQL 中代码自动生成方式。 Janino 是一个极小、极快的 开源Java 编译器(Janino is a super-small, super-fast Java™ compiler.)。Janino 不仅可以像 JAVAC 一样将 Java 源码文件编译为字节码文件,还可以编译内存中的 Java 表达式、块、类和源码文...

<数据密集型应用系统设计>读书笔记(二)

数据复制 复制是多台机器保存相同数据的副本:如何确保多台机器之间的数据是一致? 使数据在地理位置上更靠近用户,从而降低访问延迟 当部分组件出现故障,系统依然可以继续工作,从而提高可用性 扩展至多台机器以同时提供数据访问服务,从而提高读吞吐量 主从节点复制 主节点处理写请求更新本地数据,主动发送更新数据到从节点或从节点主动向主节点拉去数据 保持主从节点数据一致,从节点只...

Flink SQL 之 Group By

在之前的Flink 之 Retract 介绍回撤的重要性(订正之前的错误状态)。本文结合 group by 再次回顾下回撤在 Flink 中的应用。 CREATE TABLE table1 ( name STRING, cnt int ) WITH ( 'connector' = 'kafka', 'topic' = 'products_binlog', 'properties.b...

<数据密集型应用系统设计>读书笔记(一)

第一章 数据密集型应用定义:“数据” 是成败决定性因素,包括数据的规模、数据的复杂性、数据产生与变化的速率。 可靠性 即使发生了某些错误,系统仍可以继续正常工作。 硬件故障:多是相互独立 硬盘崩溃 内存故障 停电 断网 硬件冗余来减少系统故障率。 软件错误:难以预料,节点之间软件关联,往往导致更多的系统故障 输入特定值导致服务器崩溃 系统依赖其他...

Pulsar 学习资料

理解Apache Pulsar工作原理 Apache Pulsar 集群如何确保消息不丢? Apache Pulsar 在 BIGO 的性能调优实战(上) Apache Pulsar 在 BIGO 的性能调优实战(下)