Flink 源码阅读笔记(1)- StreamGraph 的生成

在编写 Flink 的程序的时候,核心的要点是构造出数据处理的拓扑结构,即任务执行逻辑的 DAG。我们先来看一下 Flink 任务的拓扑在逻辑上是怎么保存的。 StreamExecutionEnvironment StreamExecutionEnvironment 是 Flink

关于容器技术的小抄

Docker 最初风靡一时的 Paas 项目提供的“应用托管”,其最核心的组件就是一套应用的打包和分发机制。为了对多用户的应用环境进行隔离,会调用操作系统的 Cgroups 和 Namespace

Partial Function in Scala

模式匹配和匿名函数 Scala 的模式匹配可能是最常用到的代码片段,match 和 case 配合使用,应该是 Scala 程序员最常写的代码片段: 1 2 3 4 v match { case Some(str) => ... case None =>

Flink 的状态管理和检查点机制

从状态说起 状态 (State) 是 Flink 程序中构建复杂逻辑的基本组件。流处理中的状态可以视作算子上的记忆能力,可以保留和已经处理完的输入相关的信息,并对后续输入

Google 开源 RPC 框架 gRPC 初探

gRPC 是 Google 开源的一款高性能 RPC 框架,前两天发布了 1.0 版本。RPC (Remote Procedure Call) 即远程过程调用,通过 RPC ,客户端的应用程序可以方便地调用另外一台机器上的服务端程

谈谈 Java 线程状态相关的几个方法

在 Java 多线程编程中,sleep(), interrupt(), wait(), notify() 等方法是非常基本也很常用的方法。这些方法会改变运行中的 Java 线程的状态,正确地认识这些方法是掌握 Java 并发编

SimpleDateFormat 的线程安全问题与 ThreadLocal

从 SimpleDateFormat 的线程安全说起 SimpleDateFormat 是 Java 中非常常用的一个类,用于解析和格式化日期字符串。这个类想必大家都有用过,但是 SimpleDateFormat 在多线程环境中并不是线程安全的。我刚知