随着这个业务的发展,我们的数据量越来越庞大。那么传统的这种mysql的数据库就渐渐的难以满足我们复杂的业务需求了。
所以在微服务架构下一般都会用到一种分布式搜索的技术。那么今天呢我们就会带着大家去学习分布搜索当中最流行的一种ElasticSearch,ElasticSearch是一个非常强大的开源搜索引擎。它可以帮助我们从海量数据中快速的找到所需要的内容。。ES是对ElasticSearch的一个缩写
什么是ElasticSearch?,它其实是一个搜索引擎,那么这个搜索引擎可以用来实现搜索、日志、统计分析等监控等等功能。
而且这个索引擎是一个分布式的缩引擎,它能够支持这种水平的扩展,形成集群
一、初识ElasticSearch
学习一下这个ElasticSearch当中的一个核心技术:倒排索引。
整个ELK技术站里边,尽管它有多个组件,但核心就是ElasticSearch
它负责数据的存储、计算和搜索,而Logstash、Beats, 这两个组件呢主要是来负责数据抓取的。比如说你的日志数据,就可以由他来去抓取。
kibana是一个数据可视化的组件。也就是说将来你搜索出来的数据要展示,可以用它来去展示,形成报表 :
但是同学们想象呀,看这种可视化的组件,它是不是必须得用kibana呢?你像谷歌,我们的百度、京东,他们在展示结果的时候,是不是都有自己的网站自己去展示,所以这种可视化呢不一定非得用这个kibana去做。
你完全可以自己去实现,而数据抓取也一样,我们完全可以自己写java代码,自己去弄数据。然后往ElasticSearch里去写,对不对?
所以呢kibana、Logstash、Beats,它们都是可替换的一个组件,官方提供给你,你想用就用,你不用也没关系,但是不可替代的就是我们的ElasticSearch这个核心。