薅光头发,我熬夜替女神准备了这些

没有读这篇文章的人应该还没有读,读过这篇文章的人就读过这篇文章;

你将花费5分钟读完这篇文章,读完这篇文章之后你就花了5分钟;

读完本文你将:

  • 知道ES是什么,架构是怎样的
  • 知道学习ES的思路
  • 立一个成为Elasticsearch专家的flag

引言

月黑风高夜,熬夜内卷时。

女神:在么?

我:在在在,什么事?男朋友又欺负你了吗?

女神:我男朋友最近想学习Elasticsearch,我可以问你几个问题吗?

我:…

女神: 怎么了?你不是那个官方监考超严、题目问题超难、专业水准超高的官方认证Elastic认证工程是吗?有难度的话,就算了

我:老妹啊!有眼光!说,直接说,想问些什么呢?

女神:可以先跟我介绍什么是Elasticsearch不?我想跟他有更多的话题。(╹▽╹)

我:那我大概跟你解释一下,不懂的你再问我。

什么是ElasticSearch

(一)什么是搜索

日常开发中,我们总是会有着从驳杂的信息里面查找定位出我们需要的,这就是搜索。

例如:用户系统中,从一堆用中找出姓张的;博客系统中,从各种博客内容中找出带有Elasticsearch的;电商系统中,从繁杂的商品中找出想要的;外卖系统中,查找卖鱼香肉丝的商家;平台系统中,根据对搜索结果进行再排序达到温饱;

林林总总,各种各样的需求都离不开搜索的需求,那么提供一个精准、高效、稳定、实时的搜索中间件,就成为一个必然的趋势和我辈开发修士必须要前赴后继锁努力的目标,随着信息量的进一步激增,这个趋势将一骑绝尘。毕竟在我看来,业务终究是第一驱动力

我:这样的话你知道什么是搜索了么?

女神:这么简单谁不会呀?可是我问的是什么是ElasticSearch呀?

我:你别着急嘛~既然我们有了搜索的需求,那这么一块大蛋糕肯定有人来分,也就是说世面上有了那么多的搜索引擎,我们为什么选择Elasticsearch呢?

女神:是我男朋友选了Elasticsearch,又不是我…

我: 你还想不想知道了?[○・`Д´・ ○]

(二) 为什么是Elasticsearch

Elasticsearch is a distributed, RESTful search and analytics engine capable of addressing a growing number of use cases. As the heart of the Elastic Stack, it centrally stores your data for lightning fast search, fine‑tuned relevancy, and powerful analytics that scale with ease.

ES是一个分布式的,支持RESTful请求的搜索分析引擎

ES在发展的过程中处理了越来越多的用户需求(用例)

ES存储着海量的数据,闪电般的快速搜索,强有力的分析,并且易于扩展

女神:哦哦,原来Elasticsearch有着这么牛的定义呀?跟我男朋友一样爱吹牛!!!

我:…,Elasticsearch可不像你男朋友那样只会吹牛,ElasticSearch可是有着很多很牛的特性!

(三)Elasticsearch的特性

Elasticsearch特点

我:怎么样?Elasticsearch可是可以集中式的存储你的数据,支持你分布式,RESTful查询分析,让你快速高效的从各个维度搜索,分析你的数据。

我:Elastic不仅有着多维度、易操作的数据抽取和处理方式,支持着多种数据类型,甚至可以轻松解决难度超高的地理位置,数据源上可以集成各种存储介质例如MySQL等同步数据,还能让多种客户端连接,满足你不同的姿势来操控索引数据,并且支持着数据备份,防止以外情况把数据丢失了。

我:怎么样?Elastic是不是很厉害?

女神:🤩🤩🤩这也太厉害了吧!!!这个图我要保存做我的壁纸,把我和我男朋友的合照换下来。

女神:学长,学长,那么这么牛ElasticSearch一定有着超级无敌复杂的结构吧。你可以跟我说说么?

三句话介绍Elasticsearch的架构

第一句:Elastic有着完整的生态

在这里插入图片描述
Elastic技术栈,核心是我们常成为Elastic Stack,其中包含了ELK三大组件,ElasticSearch主要负责数据的存储和搜索,Logstash主要负责数据的摄取,Kibana提供方便快捷的的查询出口,这就是我们津津乐道的ELK三大组件。向下,Elastic提供着Elastic Cloud的SaaS部署,同时支持着K8S的容器化部署。向上Elastic则是提供着丰富的搜索出口,可视化,和精准的安全控制,让我们的系统更加的安全。

第二句:丰富的角色,明确的分工

在这里插入图片描述

Elastic自动分布式,自动注册节点,发现集群,包括完善的主从选举制度,节点之间的通信、同步,这些都无需考虑。此外节点本身有着详细的角色划分,例如主节点负责数据的分配,数据节点负责数据的存储,Ingest节点负责数据的处理,ML节点负责机器学习,各司其职,让专业的事情做的更加专业。

女神:是不是就像人在社会中会分工,扮演这不同的角色?

我:是的,只有分工才能把事情做的更高效。甚至Elastic不同的分工还能节约成本呢

女神:省钱什么的我最喜欢了~

我:你可以通过设置冷热节点,让一些资源进行合理的分配,你说是不是节约了成本?

女神:那第三句呢?

第三句 :巧妙的分层模块划分

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3lhD5vsx-1648692594038)(/Users/huxingbo/Documents/elastic/es模块.png)]

女神:学长,这个图里面有好多陌生的名词啊?他们都是什么作用呀

我:比如说呢?

女神:从下到上吧,比如Gateway

我:Gateway主要负责ES的持久化存储。刚刚提到了索引,集群的一些元数据,还有一些日志,那这些信息都是数据,肯定都要地方存储的。并且这个地方的存储要支持很多的存储介质,并且也要支持数据的同步,不然的话一个节点没了,是不是意味着数据的丢失。

女神:哦哦,这么看,这个Gateway还真是一切的基石呀,那Lucene Directoy呢?

我:其实呀,在ES之前有一个很牛的搜索框架,Lucene,即使现在的ES也是基于Lucene的思想,沿用了Lucene的服务发现和选主,来进行节点的自动发现呢?

女神:那Lucene又是什么呢?

我:这么聊起来可就太多了。我正在准备Elastic相关的学习笔记,有兴趣学的话,我后面可以发你

女神:聊了这么多,还要什么男朋友,学长我想要学ES,想要跟学长一样成为Elastic认真的专家!!

我要怎么分享Elasticsearch

我:官网是学习最专业的途径,也是最新的资料辅助

女神:是的,那我现在就去看官方文档去!╭(╯^╰)╮

我:别那么着急,这么毛毛躁躁的!官网是学习最好的资料,同时也要动手实践,后面呢,我们准备写一系列学习的文章,包含了,基础、演练、场景、源码分析,总之应有尽有。

  • 官网是最快,最正确的学习文档
  • ES学习系列的文章会从基础知识,整体架构,实际演练,场景模拟,源码分析,各个维度进行剖析分析,旨在共同学习,共同进步

八佾Talk

价值在于不断超越自我!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值