Elastic:Elastic部署架构介绍
Elastic Stack是一套完整的从数据采集,解析,分析,丰富,到搜索,检索,数据程序等一套完整的软件栈。在具体的实践中,我们应该如何搭建我们的系统呢?
下图描述了常用的Elastic Stack的部署架构:

该图描述了三种可能的体系结构:
- 将操作指标直接发送到Elasticsearch:如上图所示,您将在要从其发送操作指标/日志的边缘服务器上安装各种类型的Beats,例如Metricbeat,Filebeat,Packetbeat等。 如果不需要进一步处理,那么可以将生成的事件直接传送到Elasticsearch集群。 一旦数据出现在Elasticsearch中,就可以使用Kibana对其进行可视化/分析。 在这种体系结构中,事件流将是Beats→Elasticsearch→Kibana。当然如果您需要做进一步的处理,您也可以通过ingest node的pipleline帮助实现。
- 将操作指标发送到Logstash:Beats捕获并安装在边缘服务器上的操作指标/日志将发送到Logstash进行进一步处理,例如解析日志或丰富日志事件。 然后,已解析/丰富的事件被推送到Elasticsearch。 为了提高处理能力,您可以扩展Logstash实例,例如,通过配置一组Beats将数据发送到Logstash实例1,并配置另一组Beats将数据发送到Logstash实例2,依此类推。 在这种架构中,事件流将是Beats→Logstash→Elasticsearch→Kibana。
- 将操作指标发送到弹性队列:如果生成的事件发生率很高,并且Logstash停机时Logstash无法应付负载或防止数据/事件丢失,则可以使用诸如以下的弹性队列 Apache Kafka,以便将事件排队。 然后,Logstash可以以自己的速度处理它们,从而避免丢失Beats捕获的操作指标/日志。 在这种体系结构中,事件流将是Beats→Kafka→Logstash→Elasticsearch→Kibana。
提示:从Logstash 5.x开始,您可以使用Logstash的持久队列设置,也可以将其用作队列。 但是,它不像Kafka一样提供高度的弹性。
也有一些应用场景是这样部署的:

同样的,在这里,我们可以通过radis或Kafaka来提供一个弹性队列来缓冲高发生率事件。
在实际的使用中,如果我们不把Elasticsearch当做唯一的数据库来存储的话,那么,我们可以采用如下的方案:

在这种架构中,您有两个数据存储,必须找到一种使它们保持同步的方法。 根据您的主要数据存储区和数据布局方式,您可以部署Elasticsearch插件以使两个实体保持同步。
如下的是另外一中有外部数据,物联网等的一种架构:

或者一个更加全面的架构图:

在Elastic的官方文档中,有更多关于部署架构的描述。详细文档:https://www.elastic.co/assets/blt2614227bb99b9878/architecture-best-practices.pdf
Elastic:Elastic部署架构介绍的更多相关文章
- LNMP架构介绍与部署
一.LNMP架构介绍 LNMP:Linux系统下Nginx+MySQL+PHP这种网站服务器架构.Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器.My ...
- MemSQL分布式架构介绍(一)
最近在了解MemSQL架构,看了些官方文档,在这里做个记录,原文在这里:http://docs.memsql.com/latest/concepts/distributed_architecture/ ...
- IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构(转载)
IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构 系列文章链接: IIS负载均衡-Application Request Route详解第一篇: ...
- 大型网站技术架构介绍--squid
一.大型网站技术架构介绍 1.pv高 ip高 并发量 2.大型网站架构重点 1. 高性能:响应时间,TPS,系统性能计数器.缓存,消息队列等. 高可用性High Availabilit ...
- Azure环境中Nginx高可用性和部署架构设计
前几篇文章介绍了Nginx的应用.动态路由.配置.在实际生产环境部署时,我们需要同时考虑Nginx的高可用性和部署架构. Nginx自身不支持集群以保证自身的高可用性,商业版本的Nginx+推荐: T ...
- 微服务架构介绍和RPC框架对比
微服务架构介绍和RPC框架对比 1.微服务架构 1.1 特征 自动化部署,端点智能化,语言和数据的去中心化控制. 1.2架构 一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中 ...
- Mysql双主互备+keeplived高可用架构介绍
一.Mysql双主互备+keeplived高可用架构介绍 Mysql主从复制架构可以在很大程度保证Mysql的高可用,在一主多从的架构中还可以利用读写分离将读操作分配到从库中,减轻主库压力.但是在这种 ...
- Nginx技术研究系列7-Azure环境中Nginx高可用性和部署架构设计
前几篇文章介绍了Nginx的应用.动态路由.配置.在实际生产环境部署时,我们需要同时考虑Nginx的高可用性和部署架构. Nginx自身不支持集群以保证自身的高可用性,商业版本的Nginx+推荐: T ...
- 远程服务调用RPC框架介绍,微服务架构介绍和RPC框架对比,dubbo、SpringClound对比
远程服务调用RPC框架介绍,微服务架构介绍和RPC框架对比,dubbo.SpringClound对比 远程服务调用RPC框架介绍,RPC简单的来说就是像调用本地服务一样调用远程服务. 分布式RPC需要 ...
随机推荐
- OutputStreamWriter介绍&代码实现和InputStreamReader介绍&代码实现
java.io.OutputStreamWriter extends Writer OutputStreamWriter: 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编 ...
- 04 MySQL_数据相关的SQL
字符编码问题: 如果使用Windows电脑SQL语句中写中文报错的话,通过以下指令解决 set names gbk; 判空NULL问题: 判值用=,判空用is xxx = 非空值; xxx is nu ...
- V.Internet基础及应用
- C#基础-面向对象详解
面向对象详解 一.什么是面向对象 1>面向对象是一种程序设计思想 2>面向过程和面向对象是什么? 例如要把大象放冰箱怎么做? 面向过程:打开冰箱门->把大象扔进去->关上冰箱门 ...
- HashSet存储自定义数据类型和LinkedHashSet集合
HashSet存储自定义数据类型 public class Test{ /** * HashSet存储自定义数据类型 * set集合保证元素唯一:存储的元素(String,Integer,Studen ...
- 密码学的基础:X.690和对应的BER CER DER编码
目录 简介 BER编码 类型标识符 长度 内容 CER编码和DER编码 总结 简介 之前我们讲到了优秀的数据描述语言ASN.1,很多协议标准都是使用ASN.1来进行描述的.对于ASN.1来说,只定义了 ...
- 2020年是时候更新你的技术武器库了:Asgi vs Wsgi(FastAPI vs Flask)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_167 也许这一篇的标题有那么一点不厚道,因为Asgi(Asynchronous Server Gateway Interface) ...
- 从-99打造Sentinel高可用集群限流中间件
接上篇Sentinel集群限流探索,上次简单提到了集群限流的原理,然后用官方给的 demo 简单修改了一下,可以正常运行生效. 这一次需要更进一步,基于 Sentinel 实现内嵌式集群限流的高可用方 ...
- JDK数组阻塞队列源码深入剖析
JDK数组阻塞队列源码深入剖析 前言 在前面一篇文章从零开始自己动手写阻塞队列当中我们仔细介绍了阻塞队列提供给我们的功能,以及他的实现原理,并且基于谈到的内容我们自己实现了一个低配版的数组阻塞队列.在 ...
- SpringBoot 注解简介(持续更新)
虽然工作中交替会使用spring mvc 和spring boot 框架,但实际对spring中的很多注解并不是很了解,本篇将持续更新学习到的spring 注解. Spring 主入口类上的注解 Sp ...