年度回顾:阿里云Elasticsearch 在泛日志场景的核心能力建设

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 本文整理自阿里巴巴资深技术专家邓万禧在 阿里云Elasticsearch 自研引擎年度发布 的演讲。主要内容包括:1、年度回顾;2、泛日志场景机会与挑战;3、Elasticsearch 日志 Serverless 服务1.0

摘要本文整理自阿里巴巴资深技术专家邓万禧在 阿里云Elasticsearch 自研引擎年度发布 的演讲。主要内容包括:

  1. 年度回顾
  2. 泛日志场景机会与挑战
  3. Elasticsearch 日志 Serverless 服务1.0


一 、年度回顾

1Elasticsearch(简称 ES)发展进程:

a. 2018年:Elasticsearch 上云

  • 兼容开源版本,开箱即用;
  • 多集群运管效率提升;


b. 2019年:ELK 生态组件全托管

  • Elasticsearch5.5/6.3/6.7/7.4云上多版本发布;
  • Beats/Logstash/Kibana 云上全托管服务;


c. 2020年:APack 引擎通用增强

  • 计算存储分离架构;
  • 索引压缩插件;
  • 时序查询剪枝;
  • 物理复制插件;
  • Faster-bulk;


d. 2021年:日志增强版

  • IndexingService:写入 Serverless 服务;
  • 自研海量存储引擎1.0:存储 Serverless 服务;
  • Elasticsearch TSDB 时序引擎(与社区共建);


e. 2022:日志 Serverless 服务

  • APack2.0日志执行引擎;
  • 自研海量存储引擎2.0:智能冷热存储;
  • 云原生数据采集。


2发展阶段

在2020年以前,Elasticsearch 主要是进行产品通用能力的建设:

  • ES 产品功能丰富,适用场景广泛,客户分布在多个甚至十多个集群,通用增强能给客户提供更好的体验,比如配置管理、监控报警、插件管理等;
  • ES 生态组件丰富,希望客户能得到一站式体验,从而降低使用成本;
  • 在不影响客户兼容性的情况下,增强 ES 引擎的能力,因此通过插件中心发布查询分析、稳定性增强、写入优化、监控报警等二十多个插件;

 

通过以上三方面工作,从管控、生态、内核三方面全面增强阿里云 ES 产品能力,解决 ES 企业级客户上云提效的需求。

2020年以后,随着上云客户对降低成本的需求,ES 重点针对日志场景提供日志增强版,集成 Indexing Service 和自研海量存储引擎子产品解决日志场景需求。


二、泛日志场景机会与挑战


企业数字化转型过程中,大量企业通过 Elasticsearch 满足日志检索、存储、归档审计的需求。

 

1泛日志场景的挑战

随着企业数字化转型和互联网企业对数据安全的关注,泛日志数据管理需求愈发重要,如云原生服务及系统日志、安全审计、互联网企业的用户型分析等;同时 ELK 生态全观察功能也越来越丰富和完善,更多企业选择 ELK 开源生态来解决业务需求。泛日志场景的挑战主要有以下三个方面:

 

a. 高写入吞吐和弹性

千万级写入:客户将 ES 用于泛日志场景,首先解决的是数据接入问题,而日志场景经常是写多读少,很多客户的日志写入量都非常大,达到TB级以上,因此提供高吞吐写入,是 ES 首先要解决的问题;

快速扩展能力:此外还存在写入突增和峰谷差异大问题,比如由于扩容不及时造成写入拒绝;

稳定性保障:为保障线上服务的稳定性,需要相对专业的 ES 引擎支持,和对内部机制的理解;

 

b. 海量日志存储成本

包括长周期日志存储、数据冷热特点明显、归档存储需求等。

泛日志数据是典型的带时间属性的数据,数据规模会随着时间逐步累积,因此大中型客户的存储规模非常大,给 SRE 人员增加了额外的运维成本;

 

c. 分析性能瓶颈

如 Ad-hoc 查询、统计分析需求、多租户查询等。

泛日志场景查询通常是对数据进行多维度统计分析,这类查询的资源控制和性能会产生问题。

 

2、阿里云Elasticsearch 产品解决方案-日志增强版

针对上述挑战,阿里云 ES 推出日志增强版,在产品架构上引入了三个组件:Indexing Service、自研海量存储引擎和 APack。


image.png

a. Indexing Service

读写分离架构,一个超大的 ES 集群阵列,专做 Indexing Build,每个客户可灵活使用。

  • 高性能写入:ES 内核层优化将单位资源写入性能提升了150%,并通过“削峰填谷”的云原生特性为客户在单位时间内保留海量算力;
  • 物理复制:通过 segment 级的实时物理复制,平均数据延迟在百毫秒级内;
  • 异地容灾高可用:异地多活架构,服务本身的高可用性;

 

b. 自研海量存储引擎

低成本索引存储,服务化多级存储及索引调度能力,无需关注存储介质。

  • 高查询性能:多级存储及 cache 优化,用更低的费用获得更优的 IOPS;
  • 计算存储分离:存算资源完全解耦,提升索引迁移及恢复的速度,集群扩展性有效提升;
  • 全自动索引生命周期管理:基于简单的索引周期配置,智能化托管索引生命周期调度的全过程;
  • 异地容灾高可用:异地多活架构,存储服务本身的高可用性保障;

 

c. Apack,内核定制优化。




三、Elasticsearch 日志 Serverless 服务1.0


2022年,阿里云将ES日志增强版升级为日志 Serverless 服务产品,并正式发布日志 Serverless 服务1.0。

 

1、日志 Serverless 服务1.0的核心价值


a. 高吞吐:

云端写入10倍能力提升,解决时序日志数据高并发写入瓶颈;


b. 性价比:

成本降低70%,优化集群计算/存储资源成本,提供按需使用,按实际流量/存储空间付费;


c. 易运维:

原生 Serverless,降低大规模集群运维复杂度,支持秒级弹性伸缩和全托管式免运维服务;


 

2、内核技术架构

在 ES 日志增强版技术架构中,最下层是云原生管控服务平台,上面是 Indexing Service、自研海量存储引擎和 APack。

 image.png


a. 云原生管控服务平台:

解决资源管理、多租户调度、安全审计、企业级监控报警和智能诊断等问题,以提升客户产品运维体验。目前关注的问题主要是变更效率,包括:可灰度、可监控和可回滚三个核心问题;


b. Indexing Service 索引构建服务:

主要解决高吞吐和弹性问题,通过读写分离架构,将Indexing Service作为独立服务,同时通过存算分离,独立Indexing Service所需资源,用户只需关注写入吞吐,按实际使用量付费。


平台的两个主要工作:

第一是通过物理和逻辑隔离,实现海量客户的多注入构建平台;第二,流式索引管理和资源管理,为客户提供按需扩容和按量付费的云原生 Serverless 能力;另外,还集成了内核增强特性,和针对阿里云的内核定制优化,以提升写入索引构建性能;


c. 自研海量存储引擎:

针对存储成本的思考,从冷数据存储出发,引入存算分离架构,冷存集成支持阿里云对象存储OSS,查询性能通过索引格式调优,多级 Cache 缓存和混合储存;

d. APack 执行引擎:

主要针对多租户查询 Serverless 服务,实现细密度查询租户控制和资源隔离,降低 SRE 集群管理难度和成本;另外根据自研海量存储引擎产品特性和日志查询特点,定制预读和剪枝策略,以提升查询性能。

 

3、服务特性:

 

a. 高性价比日志存储引擎

  • 读写分离架构:快速弹性伸缩 + 降低资源冗余;
  • 存算分离架构:基于 OSS 降低冷数据存储成本;
  • 索引压缩:ZSTD 压缩、日志场景配置调优等;
  • 性能优化:针对日志场景写入和查询分别定制优化;


b. 开箱即用的 Serverless 服务

  • 独立索引构建服务:免运维、按写入吞吐量付费;
  • 定制索引存储服务
  • 户可需购买:降低冗余的存储成本;
  • 智能冷热分离:降低用户区分冷热的运维成本;
  • 云原生管控服务:提升用户服务变更体验和效率。


END


阿里云 ES 团队积极参与社区建设,与 Elasticsearch 社区和国内团队紧密合作,基于 Elasticsearch 在云原生的实践,推出了包括开发者报告、Elasticsearch 全观测、技术解析等电子书,对 ES 感兴趣的朋友可以多多关注。同时,在 ES 社区也会有丰富的线上线下活动,欢迎大家参与。


相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
4天前
|
机器学习/深度学习 人工智能 运维
阿里云技术公开课直播预告:基于阿里云 Elasticsearch 构建 AI 搜索和可观测 Chatbot
阿里云技术公开课预告:Elastic和阿里云搜索技术专家将深入解读阿里云Elasticsearch Enterprise版的AI功能及其在实际应用。
阿里云技术公开课直播预告:基于阿里云 Elasticsearch 构建 AI 搜索和可观测 Chatbot
|
7天前
|
存储 人工智能 API
(Elasticsearch)使用阿里云 infererence API 及 semantic text 进行向量搜索
本文展示了如何使用阿里云 infererence API 及 semantic text 进行向量搜索。
|
1月前
|
存储 SQL 监控
|
1月前
|
自然语言处理 监控 数据可视化
|
1月前
|
运维 监控 安全
|
1月前
|
存储 监控 安全
|
1月前
|
存储 数据采集 监控
开源日志分析Elasticsearch
【10月更文挑战第22天】
50 5
|
1月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
293 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
11天前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
|
2月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
321 3

相关产品

  • 检索分析服务 Elasticsearch版