排序:
默认
按更新时间
按访问量

Netty框架学习之(五):细说数据容器-ByteBuf

1. 简介 字节是网络数据的基本单位。 Java NIO 提供了 ByteBuffer 作为字节容器,但是这个类使用起来过于复杂,而且也有些繁琐。Netty使用了即易于使用又具备良好性能的ByteBuf来替代ByteBuffer。 本文将对ByteBuffer做一个简单的总结。 2. 运...

2018-05-29 16:07:45

阅读数:380

评论数:0

Netty框架学习之(四):线程模型

转载自:https://www.cnblogs.com/TomSnail/p/6158249.html 1. Proactor和Reactor Proactor和Reactor是两种经典的多路复用I/O模型,主要用于在高并发、高吞吐量的环境中进行I/O处理。 I/O多路复用机制都依赖于一个事...

2018-05-24 16:51:23

阅读数:406

评论数:0

Netty框架学习之(三):细说Netty的数据传输

概述 使用Java 自带的API开发IO系统时,如果需要对传输的方式进行切换,例如从阻塞传输切换到非阻塞传输, 那么可能会由于两种方式的API不兼容问题需要大面积的修改代码。然而 Netty 则为它所有的传输方式提供了一个通用 API,这使得只需要修改一下对象申明的类型就能完成传输方式的切换,例...

2018-05-24 16:15:52

阅读数:1073

评论数:0

Netty框架学习之(二):Netty组件简介

1. 概览 从高层次的角度来看Netty, 它主要为需要开发高性能应用的开发者解决了“技术”的和“体系结构”的问题。首先,它的基于 Java NIO 的异步的和事件驱动的实现,保证了高负载下应用程序 性能的最大化和可伸缩性。其次, Netty 也包含了一组设计模式,将应用程序逻辑从网络层解耦,...

2018-05-23 18:47:19

阅读数:282

评论数:0

Netty框架学习之(一):Netty框架简介

1. 简介 官方定义为:”Netty 是一款异步的事件驱动的网络应用程序框架,支持快速地开发可维护的高性能的面向协议的服务器 和客户端”,按照惯例贴上一张High Level的架构图: 纵观Java系的多种服务器/大数据框架,都离不开Netty做出的贡献,本文对Netty做一个简单的概述...

2018-05-23 18:43:19

阅读数:1106

评论数:0

ElasticSearch学习总结(八):插件的开发

本文主要总结Elasticsearch 自定义 REST 接口的插件开发流程。 1. 插件介绍 本插件逻辑比较简单,主要用来返回包含指定前缀的节点列表。 2. 代码说明 插件主要包括两部分的内容,一部分用来对插件的注册,另一部分负责对业务逻辑的处理 插件注册部分: publ...

2018-03-06 14:59:13

阅读数:868

评论数:0

ElasticSearch学习总结(七):性能优化总结

本文主要总结Elasticsearch性能优化方面的相关内容 1. 概述 性能优化是个涉及面非常广的问题,不同的环境,不同的业务场景可能会存在不同的优化方案,本文只对一些相关的知识点做简单的总结,具体方案可以根据场景自行尝试。 1.1 性能测试 如果需要做性能调优,性能基准测试的工...

2018-03-06 14:57:45

阅读数:610

评论数:0

ElasticSearch学习总结(六):集群管理总结

本文主要总结和集群管理的相关内容。 1. 发现和恢复模块 节点的启动主要包括两个过程:(1)发现 (2)恢复 1.1 发现(discovery) 当启动ES节点的时候,最先做的事情就是查找一个拥有相同集群名称且网络上可见的主节点,如果找到,这个新启动的节点就加入那个已经存在的集群,...

2018-03-05 15:51:17

阅读数:512

评论数:0

ElasticSearch学习总结(五):底层索引控制

本文主要总结底层索引控制的一些知识点 1. 底层存储目录(Store Directory) 该模块主要用来控制索引数据的读写方式,Lucene所有在磁盘上的操作都是通过store模块来处理的,目前系统中有4种store类型,默认情况下,Elasticsearch会更具操作环境选择一个最佳的...

2018-03-02 17:42:34

阅读数:480

评论数:0

ElasticSearch学习总结(四):分布式特性

本文主要对Elasticsearch的分布式相关特性进行总结 1. 分片与副本 1.1 分片&副本 索引分片机制用来存储超过单个节点存储容量的数据,分片副本用来应对不断攀升的吞吐量以及确保数据的安全性。 当一个节点的主分片丢失,ElasticSearch可以...

2018-03-02 11:05:30

阅读数:371

评论数:0

ElasticSearch学习总结(三):查询总结

本文主要对Elasticsearch中查询相关的知识做一个简单的总结,内容主要包括查询的评分机制,查询改写,过滤器,以及对常见的查询做一个简单的分类 1. 评分机制 在Lucense中默认使用TF/IDF算法对文档进行评分,该算法已经在前文做了简单的介绍,这里主要总结下什么样的因素可能得到...

2018-03-01 15:56:09

阅读数:692

评论数:0

ElasticSearch学习总结(二):ES介绍与架构说明

本文主要从概念以及架构层面对Elasticsearch做一个简单的介绍,在介绍ES之前,会先对ES的“发动机”Lucene做一个简单的介绍 1. Lucene介绍 为了更深入地理解ElasticSearch的工作原理,特别是索引和查询这两个过程,理解Lucene的工作原理至关重要。本质上,El...

2018-02-28 18:18:07

阅读数:1406

评论数:0

ElasticSearch学习总结(一):信息检索基础理论

本系列文章为Elasticsearch 的学习笔记,主要是为了便于日后对于相关知识点的回顾,在内容的范围以及正确性上可能存在一定出入。另外由于Elasticsearch的发展速度很快,很多特性会随着版本的演变而发生变化,具体的特性说明,如有疑问请参考对应版本的官方文档。本系列博客主要基于5.2版本...

2018-02-28 18:14:12

阅读数:1054

评论数:1

Druid学习笔记(4)数据摄入总结

1. 概述Druid的数据摄入主要包括两大类: 1. 实时输入摄入:包括Pull,Push两种 - Pull:需要启动一个RealtimeNode节点,通过不同的Firehose摄取不同种类的数据源。 - Push:需要启动Tranquility或是Kafka索引服务。通过HTTP调用的方式...

2017-12-13 18:09:25

阅读数:2767

评论数:0

Druid学习笔记(3)Druid部署总结

介绍前面几个章节对Druid的整体架构做了简单的说明,本文主要描述如何部署Druid的环境Imply提供了一套完整的部署方式,包括依赖库,Druid,图形化的数据展示页面,SQL查询组件等。本文将基于Imply套件进行说明单机部署依赖 Java 8 or better Node.js 4.5.x ...

2017-12-06 11:49:53

阅读数:3201

评论数:3

Druid学习笔记(2)Druid架构剖析

1. 前言Druid 的目标是提供一个能够在大数据集上做实时数据摄入与查询的平台,然而对于大多数系统而言,提供数据的快速摄入与提供快速查询是难以同时实现的两个指标。例如对于普通的RDBMS,如果想要获取更快的查询速度,就会因为创建索引而牺牲掉写入的速度,如果想要更快的写入速度,则索引的创建就会受到...

2017-11-17 17:21:32

阅读数:2527

评论数:0

Druid学习笔记(1)Druid介绍与基本概念

概述随着互联网快速发展,数据量增长快,达到TB、PB,以交通车流量为例,如湖南省每月的车辆流量至少达到4亿,这个数据量远不止如此。数据量如此大,如何满足后期分析,传统面向OLTP型数据库(ORACLE、MYSQL等)无法要求,渐渐开始转向OLAP,如GreenPlum等,虽然很多OLAP数据库吸收...

2017-11-01 17:48:21

阅读数:2769

评论数:0

Storm入门与实践(4)Storm的容错机制

转载自:并发编程网 – ifeve.comStorm 能够保证每一个由 Spout 发送的消息都能够得到完整地处理。本文详细解释了 Storm 如何实现这种保障机制,以及作为用户如何使用好 Storm 的可靠性机制。消息的“完整性处理”是什么意思一个从 spout 中发送出的 tuple 会产生上...

2017-08-24 11:17:37

阅读数:1045

评论数:0

Storm入门与实践(3)通过WordCount展开Storm的编程之旅

介绍貌似WordCount已经成了大数据,分布式计算的入门标配程序,其实仔细想一下WordCount的例子,它还有很用应用的场景,例如统计过去一段时间网站中各个商品的浏览量,最近一段时间相同查询的数量等.本文主要讨论下Storm如何实现WordCountTopology结构WordCount的To...

2017-08-15 13:42:09

阅读数:1148

评论数:0

Storm入门与实践(2)构建Storm的开发环境与集群

1. Storm 技术栈Storm 运行在JVM之上,大部分功能都是通过Java与Clojure进行开发。 Storm的主要接口都是通过Java进行开发,但绝大多数的逻辑都是由Clojure进行实。 Python主要用来实现Storm的后台程序以及管理命令程序。2. Storm环境搭建在搭建S...

2017-08-14 17:10:09

阅读数:1052

评论数:0

提示
确定要删除当前文章?
取消 删除