摘要: Flink可以使用zookeeper来进行ha,而一般我们都会使用zookeeper的高级api架构curator来对zk进行通讯。在curator中引入了状态的概念,包括connected,reconnected,suspeneded,lost与read_only,其中suspended是个有意思 阅读全文
posted @ 2019-05-31 10:43 boiledwater 阅读(2536) 评论(1) 推荐(0) 编辑
摘要: flink为了保证线上作业的可用性,提供了ha机制,如果发现线上作业失败,则通过ha中存储的信息来实现作业的重新拉起。 我们在flink的线上环境使用了zk为flink的ha提供服务,但在初期,由于资源紧张,只是对zk进行了standalone的部署,但是在后期的使用中,发现单节点的集群很难提供很高 阅读全文
posted @ 2019-04-15 12:24 boiledwater 阅读(971) 评论(0) 推荐(0) 编辑
摘要: 前文知道了java程序运行时在内存中的大概分布,但是对于具体程序是如何运行的,看到一篇文章,直接转载过来。 (一)不含静态变量的java程序运行时内存变化过程分析 代码: 内存过程分析: 在做分析以前我们应该预备的知识有: 1)栈内存储的是局部变量,基础类型的局部变量也分配在栈中,而且它只占一块内存 阅读全文
posted @ 2019-03-20 21:36 boiledwater 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 总说java是一次编译,到处运行的语言,也即java的平台无关性。那么,到底是谁帮我们干脏活累活,因为我们知道不管是什么语言,最终都要翻译成底层的机器码才能真正在计算机上运行,那么不同的操作系统,不同的cpu架构,必然导致机器码的不同,是谁这么好心?JRM,Java Runtime Environm 阅读全文
posted @ 2019-03-20 21:18 boiledwater 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 遇到java程序跑不动怎么办,jstack是比较容易想到的一个工具,利用jstack来dump出一个线程堆栈快照,然后具体分析。 一般的堆栈大概是由下面的部分组成的: "resin-22129" 线程名称:如果使用 java.lang.Thread 类生成一个线程的时候,线程名称为 Thread-( 阅读全文
posted @ 2019-03-13 22:06 boiledwater 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 先看看静态代理是如何操作的 定义接口: 实际的类: 代理类: 可以看到,静态代理类要求实现与实际类型相同的接口,这个虽然在某些情况下有使用场景,但是其实扩展起来很麻烦,需要一个个的进行重载,相比之下,动态代理就好多了。 动态代理也需要一个代理类,实现特定的接口InvocationHandler: 这 阅读全文
posted @ 2019-03-08 18:39 boiledwater 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 规则引擎听起来是蛮高深的一个词语,但透过现象看本质,Martin Fowler 有如下言: You can build a simple rules engine yourself. All you need is to create a bunch of objects with conditio 阅读全文
posted @ 2019-03-08 17:53 boiledwater 阅读(1269) 评论(0) 推荐(0) 编辑
摘要: 方式一 通过JDBCOutputFormat 在flink中没有现成的用来写入MySQL的sink,但是flink提供了一个类,JDBCOutputFormat,通过这个类,如果你提供了jdbc的driver,则可以当做sink使用。 JDBCOutputFormat其实是flink的batch a 阅读全文
posted @ 2019-03-06 21:13 boiledwater 阅读(11196) 评论(1) 推荐(1) 编辑
摘要: 一般而言,如果没有干预的话,线程在启动之后会一直运行到结束,但有时候我们又需要很多线程来共同完成一个任务,这就牵扯到线程间的通讯。 如何让两个线程先后执行?Thread.join方法 其中A.join()的意思即是等待A线程执行完毕。 如何让两个线程交互执行?object.wait和object.n 阅读全文
posted @ 2019-02-26 22:02 boiledwater 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 一般而言,如果做监控系统,基本离不开时序数据库,对于时间属性的天然支持以及众多的前端展现,使得使用时序数据库存储各种metric信息非常方便。 下图是在db-engines上时序数据库的排名,可见inluxdb的热度。 重要概念 influxdb里面有一些重要概念:database,timestam 阅读全文
posted @ 2019-02-26 21:29 boiledwater 阅读(415) 评论(0) 推荐(0) 编辑