vlambda博客
学习文章列表

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

 

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

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

Tips: 点击「阅读原文」查看原文视频




一、年度回顾

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。

 

 

(ES日志增强版产品架构)

 

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。

 

 

ES 日志增强版技术架构图

 

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

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


b. Indexing Service 索引构建服务:

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


平台的两个主要工作:

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


c. 自研海量存储引擎:

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

d. APack 执行引擎:

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

 

3、服务特性:

 

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

  • 读写分离架构:快速弹性伸缩 + 降低资源冗余;

  • 存算分离架构:基于 OSS 降低冷数据存储成本;

  • 索引压缩:ZSTD 压缩、日志场景配置调优等;

  • 性能优化:针对日志场景写入和查询分别定制优化;


b. 开箱即用的 Serverless 服务

  • 独立索引构建服务:免运维、按写入吞吐量付费;

  • 定制索引存储服务

    • 户可 需购买: 降低冗余的存储成本;
    • 智能冷热分离: 降低用户区分冷热的运维成本;
  • 云原生管控服务:提升用户服务变更体验和效率。




END


 


👇 「阅读原文」,立即查看更多精彩内容~