Java 垃圾回收器 发表于 2017-09-22 | 分类于 Java | | 阅读次数 本篇讲解垃圾回收的具体实现。由于Java虚拟机规范中对垃圾回收器应该如何实现没有明确的规定,因此,不同的厂商都会有自己的实现。 并发 && 并行并行是Parallel, 是指多条垃圾回收线程并行的工作,这时用户的业务线程是被挂起的,造成了Stop the world 并发是Concu ... 阅读全文 »
Storm Trient 发表于 2017-09-19 | 分类于 Storm | | 阅读次数 trident可以理解为storm批处理的高级抽象,提供了分组、分区、聚合、函数等操作,提供一致性和恰好一次处理的语义 Trident 中含有对状态化(stateful)的数据源进行读取和写入操作的一级抽象封装工具。这个所谓的状态(state)既可以保存在拓扑内部(保存在内存中并通过 HDFS 来实 ... 阅读全文 »
Storm Spout和Bolt分析 发表于 2017-09-19 | 分类于 Storm | | 阅读次数 Storm中,Spout和Bolt都是其Component,所以,Storm定义了一个名叫IComponent的总接口。无论是下面的ISpout还是IBolt,都实现了Serializable,表示他们能够被序列化,代码会被发送到Supervisior机器上。 以上是总图谱,绿色部分是我们最常用、 ... 阅读全文 »
Kafka Spout 发表于 2017-09-19 | 分类于 Storm | | 阅读次数 当Storm需要从Kafka读取数据时,这是Storm就是Kafka的一个消费者,Storm项目中已经集成了Kafka Spout组件,用于直接Kafka中读取某一个topic的数据。 Kafka Spout实现了一个kafka.javaapi.consumer.SimpleConsumer的客户端 ... 阅读全文 »
Storm 基本简介 发表于 2017-09-18 | 分类于 Storm | | 阅读次数 Storm是分布式实时计算系统,它对应的是Hadoop的批处理,Storm处理的则是连续不断的数据流,它使用以下的场景: 流式数据,数据并不是静态的存在于某个存储设备,而是动态的数据流。 分布式的RPC,由于storm是分布式并且处理的延迟很低,通常可以作为RPC框架来使用。 持续计算,任务只 ... 阅读全文 »
Storm 消息可靠性传输 发表于 2017-09-18 | 分类于 Storm | | 阅读次数 消息在各个节点之间的传递,要保证准确性,一般要做到两点: 是接收者必须能收到 二是必须只收到一个,或者收到第二个时知道重复了,能够把重复的舍弃。 这在Storm里面是通过Guaranteeing Message Processing和Transactional Topologies这两种机制 ... 阅读全文 »
Dokcer 基本原理 发表于 2017-09-17 | 分类于 Dokcer | | 阅读次数 只讲解最最基本的概念。 什么是Docker百度百科定义如下: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 Docker可以看作是一个虚拟 ... 阅读全文 »
基于Thrift 的连接池优化方案 发表于 2017-09-12 | 分类于 分布式服务框架 | | 阅读次数 Thrift是一个开源的RPC框架,能够实现跨语言间的服务调用,但是单纯的Thrift没有服务治理的框架,无法实现服务的注册,订阅等功能,更别说负载均衡,服务地址管理。并且,基于Thrift的远程调用缺少连接池的功能,每次都需要手动创建TSocket等资源,时候再释放,给系统带来很大压力。 本章介绍 ... 阅读全文 »
Thrift 通信模型 发表于 2017-09-12 | 分类于 分布式服务框架 | | 阅读次数 Thrift采用的是C/S的模式,IDL文件生成了服务器端的代码和客户端的代码,其中Tprocessor是服务器端用来处理请求的,Client是给客户端发送请求的。Tbase接口定义了数据如何方法和方法参数如何被序列化,而更底层的protocol协议层定义了数据的传输格式,如二进制格式,和trans ... 阅读全文 »
CGLIB原理 发表于 2017-09-11 | 分类于 Java | | 阅读次数 理论JDK原生的方式实现动态代理,它要求被代理的类实现某一个接口,那么并不是每个类需要实现接口,对于那些没有实现接口的类,难道就不能使用动态代理了吗?这里我们就使用本文要讲到的CGlib,它采用非常底层的字节码技术,通过字节码技术为被代理的类创建一个子类,并在子类中采用方法拦截的技术拦截了父类的方法 ... 阅读全文 »