摘要: Checkpoint触发机制 Flink的checkpoint是通过定时器周期性触发的。checkpoint触发最关键的类是CheckpointCoordinator,称它为检查点协调器。 CheckpointCoordinator主要作用是协调operators和state的分布式快照。它通过向相 阅读全文
posted @ 2018-06-27 23:07 在周末 阅读(8712) 评论(0) 推荐(0) 编辑
摘要: TCP的特点:三次握手、四次挥手、可靠连接、丢包重传。所有的关键词都围绕着可靠传输。 实现可靠传输的核心机制:seq+ack。通过ack判断是否有丢包,是否需要重传。 三次握手 1)初始状态:client为CLOSED,server为LISTEN,此时client 发送 syn 到server ,c 阅读全文
posted @ 2018-06-22 09:10 在周末 阅读(324) 评论(0) 推荐(0) 编辑
摘要: TCP半连接和全连接问题 TCP握手过程详解 如上图所示,关键部分:syns queue(半连接队列)和accept queue(全连接队列) 正常情况下的处理过程如下: 1)当server端收到client发送的SYN后,将连接相关信息放在syns queue中,并回复SYN+ACK; 2)当se 阅读全文
posted @ 2018-06-22 09:10 在周末 阅读(197) 评论(0) 推荐(0) 编辑
摘要: Client Thrift客户端有两种:同步客户端和异步客户端。 同步客户端 同步客户端比较简单,以RPC-Thrift(一)中的的例子为基础进行研究源码,先看一下类图。 TServiceClient:用于以同步方式与TService进行通信; Iface接口和Client类都是通过Thrift文件 阅读全文
posted @ 2018-01-11 18:57 在周末 阅读(1849) 评论(0) 推荐(0) 编辑
摘要: TProtocol TProtocol定义了消息怎么进行序列化和反序列化的。 TProtocol的类结构图如下: TBinaryProtocol:二进制编码格式; TCompactProtocol:高效率,密集的二进制编码格式,使用了zigzag压缩算法,使用了类似于ProtocolBuffer的V 阅读全文
posted @ 2018-01-10 15:42 在周末 阅读(747) 评论(0) 推荐(0) 编辑
摘要: TTransport TTransport负责数据的传输,先看类结构图。 阻塞Server使用TServerSocket,它封装了ServerSocket实例,ServerSocket实例监听到客户端的请求会创建一个Socket对象,并将该Socket对象封装为一个TSocket对象用于通信。 非阻 阅读全文
posted @ 2018-01-09 16:38 在周末 阅读(910) 评论(0) 推荐(0) 编辑
摘要: 一个简单例子 IDL文件如下,详细的IDL语法参考官方文档http://thrift.apache.org/docs/idl。 通过代码生成工具得到两个文件:HelloService.java和ResultCommon.java。 Thrift业务HelloService.Iface接口的实现如下 阅读全文
posted @ 2018-01-05 20:05 在周末 阅读(3832) 评论(0) 推荐(0) 编辑
摘要: RPC概述 RPC(Remote Procedure Call),即远程过程调用,是一种通过网络从远程计算机程序上请求服务而不需要了解底层网络技术的协议,实现调用远程主机上的方法就像调用本地方法一样。RPC协议在分布式系统中发挥重要的作用。 RPC涉及的技术 图片摘自http://blog.csdn 阅读全文
posted @ 2018-01-03 10:53 在周末 阅读(547) 评论(0) 推荐(0) 编辑
摘要: 概述 为什么要使用线程池? 合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统 阅读全文
posted @ 2017-11-12 10:59 在周末 阅读(2707) 评论(0) 推荐(0) 编辑
摘要: 概述 用于线程间数据的交换。它提供一个同步点,在这个同步点,两个线程可以交换彼此的数据。这两个线程通过exchange方法交换数据,如果第一个线程先执行exchange()方法,它会一直等待第二个线程也执行exchange方法,当两个线程都到达同步点时,这两个线程就可以交换数据,将本线程生产出来的数 阅读全文
posted @ 2017-11-05 12:59 在周末 阅读(1070) 评论(0) 推荐(0) 编辑