jasper的技术小窝

关注DevOps、运维监控、Python、Golang、开源、大数据、web开发、互联网

elasticsearch源码分析之索引过程(二)

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 2972 次 | 发布:2015-12-05 6:06 p.m.

接着上一篇的,在写入了buffer和translog之后,数据仍然不能被搜到,必须还得执行一个操作---refresh,而将segment刷到磁盘还需要一个操作---flush;为了保证数据的一致性,还需要一个之前提到的translog,那么我们这篇就来研究他们是怎么工作的。

阅读全文

elasticsearch源码分析之索引过程(一)

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 4642 次 | 发布:2015-11-28 10:41 p.m.

接着上一篇说了发送端的情况,现在我们来聊聊ES数据接收端都干了些啥,ES是怎么把数据插进去的,这一部分ES的那帮人写的挺绕的,好不容易才疏通。

阅读全文

elasticsearch源码分析之java客户端

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 3471 次 | 发布:2015-11-22 11:44 p.m.

本文所说的java客户端主要只是讲解一下用于插数据的client的原理,我们都知道往ES发数据有三种protocol分别是node、http和transport;其实对于其他client而言最终都是使用的http;而java是可以使用node和transport的,node方式一般很少用,所以我们只探究transport client,那么我们且来看看吧。

阅读全文

elasticsearch源码分析之Transport模块

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 2523 次 | 发布:2015-11-22 6:09 p.m.

感觉很有必要将transport模块早点看看,这个模块在elasticsearch中用的很广泛,比如之前说的集群node之间的通信、数据的传输、transport client方式的数据发送等等,只要数和通信、数据传输相关的都离不开transport模块的作用。

阅读全文

elasticsearch源码分析之Discover模块

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 2459 次 | 发布:2015-11-20 11:13 p.m.

下面我们来谈谈elasticsearch中的Discover模块,这个模块主要是用作处理elasticsearch中的集群问题,是elasticsearch中比较复杂的一个模块了吧。该模块在elasticsearch中分为两个,分别是LocalDiscover和ZenDiscover,在这里我们只说后者,因为在我们的使用中一般也是用的ZenDiscover,这也是elasticsearch默认的。

阅读全文

elasticsearch源码分析之启动过程

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 3251 次 | 发布:2015-11-19 11:12 p.m.

最近开始广泛的使用elasticsearch,也开始写一些java代码了,为了提高java代码能力,也为了更加深入一点了解elasticsearch的内部运作机制,所以开始看一些elasticsearch的源码了。对于这种广受追捧的开源项目,细细品读一定会受益匪浅,所以我会尽可能地细分成很多部分,下面我们从启动过程开始!

阅读全文

json格式化小技巧

作者:jasper | 分类:Linux | 标签:   | 阅读 1280 次 | 发布:2015-10-24 12:45 a.m.

对于我们这些常年在命令行下面调试代码的人来说,对于json格式的数据的格式化一直是个头疼的问题,乱糟糟的一大堆,不利于快速获取到想要的信息,简单介绍几个有用的json数据格式化的小技巧。

阅读全文

在Golang中使用pipeline

作者:jasper | 分类:Golang | 标签:     | 阅读 2437 次 | 发布:2015-08-15 10:44 p.m.

之前看到gopher大会上有个人将,他们在Go中大量使用pipeline,特地去搜了一把pipeline在Go中是怎么实现的,发现没有中文文章,所以就参考着写了一篇,抛砖引玉了。

阅读全文

使用Cli构建Go的命令行应用

作者:jasper | 分类:Golang | 标签:   | 阅读 1676 次 | 发布:2015-07-26 5:51 p.m.

大周末的实在无聊,只有继续撸Go,在Go里面应用中`flag`这一标准库,提供了很多我们在写命令行时需要的interface,然而如果你需要更强大更好的结构,可以试一下cli.go这个库。

阅读全文

基于Go的K/V数据库BoltDB简介

作者:jasper | 分类:Golang | 标签:       | 阅读 8594 次 | 发布:2015-07-26 11:52 a.m.

最近开始写Go,并研究InfluxDB,在0.9.x中,它的存储换成了BoltDB,那么这个BoltDB是个什么鬼呢,参考了Github上的介绍,大致感受下。

阅读全文

其他分类: