当前位置: 首页 > news >正文

Elasticsearch的索引生命周期管理

目录

  • 说明
  • 零、参考
  • 一、ILM的基本概念
  • 二、ILM的实践步骤
        • Elasticsearch ILM策略中的“最小年龄”是如何计算的?
        • 如何监控和调整Elasticsearch ILM策略的性能?
      • 1. **监控性能**
        • 使用`/_cat/thread_pool` API
        • 基本请求格式
        • 请求特定线程池的信息
        • 响应内容
      • 2. **调整ILM策略**
      • 3. **优化数据迁移过程**
      • 4. **自动化ILM策略**
      • 5. **其他优化措施**
      • 总结
  • 三、使用案例
        • Elasticsearch ILM是否支持跨集群管理中的数据迁移?
        • 在实际应用中,Elasticsearch ILM的最佳实践案例有哪些?
        • Elasticsearch ILM策略配置中的常见问题及解决方案是什么?
      • 1. **配置错误导致索引卡住**
      • 2. **策略参数设置不当**
      • 3. **索引模板未正确设置**
      • 4. **索引生命周期管理的阶段顺序问题**
      • 5. **索引生命周期管理的故障排除**

说明

Elasticsearch的索引生命周期管理(Index Lifecycle Management,简称ILM
)是一种自动化管理索引生命周期的技术,旨在优化资源利用和数据处理效率。ILM自Elasticsearch 6.7版本引入以来,已成为现代Elasticsearch集群管理的重要工具。以下将从ILM的基本概念、实践步骤以及实际应用场景等方面进行详细说明。

零、参考

  • Managing the index lifecycle

  • 通过索引生命周期管理Heartbeat数据

  • 通过索引生命周期管理实现冷热数据分离

一、ILM的基本概念

在这里插入图片描述

  1. ILM的四个阶段

    • Hot阶段:索引可写入和查询,适用于最新数据,通常存储在高性能存储设备(如SSD)上。
    • Warm阶段:索引可读但不可写,适用于较旧数据,通常存储在性能稍低但成本更低的存储设备上。
    • Cold阶段:索引不可读写,但可查询,适用于长期存储的数据,通常使用大容量磁盘存储。
    • Delete阶段:索引完全删除,适用于不再需要保留的数据。
  2. ILM的工作原理

    • Elasticsearch集群通过配置ILM策略,根据索引的大小、年龄或文档数量等条件触发相应的操作,如滚动创建新索引、压缩旧索引、合并分片或删除索引。
    • ILM策略由多个阶段组成,每个阶段可以定义不同的操作动作(如Rollover、Shrink、Force Merge、Delete等),并按顺序执行。
  3. ILM的优势

    • 自动化管理:无需手动干预,减少运维负担。
    • 资源优化:通过合理的存储分配提高性能和降低成本。
    • 高可用性:支持跨集群管理和定时任务。

二、ILM的实践步骤

  1. 创建ILM策略

    • 使用Kibana的ILM界面或Elasticsearch的API定义策略。例如,设置索引的最大大小、最小年龄等条件。
    • 策略中可以定义多个阶段,每个阶段指定不同的操作动作(如滚动创建新索引、压缩旧索引等)。
  2. 绑定ILM策略到索引模板

    • 创建索引模板并将其与ILM策略关联。例如,通过设置`index。
Elasticsearch ILM策略中的“最小年龄”是如何计算的?

在Elasticsearch的ILM(智能负载均衡)策略中,“最小年龄”是指索引在进入下一个阶段之前需要满足的最短时间限制。这个参数用于确保索引在进入下一个阶段之前已经完成当前阶段的所有操作,并且达到一定的稳定性或成熟度。

根据我搜索到的资料,ILM策略中的“最小年龄”是通过定义每个阶段的参数来设置的。例如:

  1. 热阶段:最大大小为5MB,最大年龄为1天,最大文档数为100万。
  2. 暖阶段:最小年龄为60秒,操作包括强制合并(force融合)和缩减(shrink)
  3. 冷阶段:最小年龄为3个月,操作包括分配(allocate)
  4. 删除阶段:最小年龄为1小时。

这些参数中的“最小年龄”是用户在创建ILM策略时手动设置的,用于控制索引在进入下一个阶段之前需要等待的时间。例如,在暖阶段,索引需要至少等待60秒才能进入冷阶段;在冷阶段,索引需要至少等待3个月才能进入删除阶段。

需要注意的是,“最小年龄”是基于时间的限制,而不是基于索引大小或其他条件。这意味着即使索引达到了最大大小或最大文档数,它也需要满足“最小年龄”的要求才能进入下一个阶段。

总结来说,“最小年龄”是ILM策略中一个重要的参数,用于确保索引在进入下一个阶段之前已经完成当前阶段的所有操作,并且达到一定的稳定性或成熟度。

如何监控和调整Elasticsearch ILM策略的性能?

监控和调整Elasticsearch ILM(索引生命周期管理)策略的性能需要从多个方面入手,包括监控性能、调整策略参数以及优化数据迁移过程。以下是详细的步骤和建议:

1. 监控性能

Elasticsearch提供了强大的监控功能,可以使用内置的API来查看集群的健康状态、分片状态以及查询性能等信息。常用的监控API包括:

  • /_cat/indices:查看所有索引的状态。
  • /_cat/shards:查看分片的分布和状态。
  • /_cat/thread_pool:查看各个线程池的使用情况。返回集群中所有节点的所有线程池的统计信息。

此外,还可以使用第三方监控工具如Prometheus和Grafana,持续监控Elasticsearch的性能,并根据监控数据进行调优。

thread_pool

要使用Elasticsearch的/_cat/threads API查看各个线程池的使用情况,首先需要明确的是,Elasticsearch并没有/_cat/threads这个API。正确的API是/_cat/thread_pool。以下是详细的使用方法:

使用/_cat/thread_pool API
基本请求格式
GET /_cat/thread_pool

这个请求会返回集群中所有节点的所有线程池的统计信息。

请求特定线程池的信息

如果只想查看特定线程池的信息,可以在URL中指定线程池名称。例如,查看write线程池的信息:

GET /_cat/thread_pool/write

在这里插入图片描述

响应内容

响应包含以下列:

  • node_name:节点名称
  • name:线程池名称
  • active:活动线程数
  • queue:队列任务数
  • rejected:拒绝的任务数
  • completed:完成的任务数
  • core:核心数
  • ephemeral_id:临时节点ID
  • host:主机名
  • ip:IP地址
  • keep_alive:线程保持时间
  • largest:最大活动线程数
  • max:最大活动线程数
  • node_id:节点ID
  • pid:进程ID
  • pool_size:线程池大小
  • port:端口
  • queue_size:队列大小
  • size:固定活动线程数
  • type:线程池类型

2. 调整ILM策略

ILM策略通过定义索引的生命周期阶段(hot、warm、cold、delete)来管理数据。每个阶段都有特定的操作,如索引的滚动更新、迁移、冻结和删除。以下是调整ILM策略的具体步骤:

  • 创建新策略:在创建新策略时,需要指定每个阶段的参数,如最小年龄、最大大小等。
  • 绑定策略到模板:将新策略绑定到相应的索引模板上,以实现对索引生命周期的有效管理。
  • 调整检查频率:通过修改indices生命周期.poll_interval参数来控制检查频率,避免给节点带来过大负载。

3. 优化数据迁移过程

在数据迁移过程中,可能会遇到IO负载过高导致读写性能下降的问题。以下是一些优化建议:

  • 分批迁移数据:将数据迁移分为多个阶段,按天、小时或更细粒度进行分批迁移,以减少对系统性能的影响。
  • 调整indices.recovery.max_bytes_per_sec:如果当前设置的indices.recovery.max_bytes_per_sec值过低(如50M),可以适当增加该值以提高迁移效率。
  • 分层存储策略:结合冷/热迁移策略,将热数据迁移到性能更高的节点,冷数据迁移到性能较低的节点,同时增加节点数量或使用Shard Allocation Awareness来优化集群资源分配。

4. 自动化ILM策略

为了进一步优化性能和稳定性,可以采用自动化ILM策略。例如:

  • 自动化索引生命周期管理:通过自动化脚本定期调整ILM策略,确保数据在不同阶段得到妥善处理。
  • 动态调整策略:根据集群性能和数据需求,动态调整ILM策略的参数,如迁移阈值、检查频率等。

5. 其他优化措施

  • 节点属性配置:通过为节点分配自定义属性(如热节点、温节点和冷节点),实现冷热数据分离,优化存储成本和性能。
  • 定期清理数据:使用ILM策略自动清理过期数据,避免数据无限增长,从而减少存储压力。

总结

通过以上方法,可以有效监控和调整Elasticsearch ILM策略的性能,确保数据生命周期管理的高效性和稳定性。

三、使用案例

Elasticsearch ILM是否支持跨集群管理中的数据迁移?

Elasticsearch ILM(索引生命周期管理)主要用于管理索引的生命周期,包括数据的热、温、冷和删除阶段。ILM 的核心功能是通过自动化策略来优化存储成本和性能,例如将数据从热节点迁移到冷节点,从而实现冷热分离。

然而,关于 ILM 是否支持跨集群管理中的数据迁移,证据中并未明确提到 ILM 可以直接支持跨集群的数据迁移。虽然 Elasticsearch 提供了 **CCR(Cross-Cluster Replication)**功能,该功能可以在不同集群之间进行数据同步和迁移,但 CCR 并非 ILM 的一部分,而是另一种独立的功能。

从证据中可以看出,ILM 的主要用途是管理索引生命周期内的数据迁移,而不是跨集群迁移。例如,ILM 可以在同一个集群内将数据从热节点迁移到冷节点,或者在生命周期的删除阶段自动删除数据。此外,ILM 的策略和操作是针对单个集群内的索引生命周期管理,而不是跨集群的数据迁移。

因此,可以得出结论:Elasticsearch ILM 不支持跨集群管理中的数据迁移。

在实际应用中,Elasticsearch ILM的最佳实践案例有哪些?

在实际应用中,Elasticsearch ILM(索引生命周期管理)的最佳实践案例主要集中在以下几个方面:

  1. 冷热数据分离
    • Elasticsearch ILM通过将索引生命周期分为四个阶段:热(Hot)、温(Warm)、冷(Cold)和删除(Delete),实现了冷热数据的自动分离。在“热”阶段,索引负责滚动更新数据,确保高性能的读写操作;在“温”和“冷”阶段,索引数据被进一步处理和存储,以优化存储成本和性能。
    • 例如,在阿里云Elasticsearch集群中,通过设置ILM策略周期,可以有效控制检查频率,避免给节点带来过大负载。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
数据流管理

  1. 策略配置与模板绑定

    • 创建新的ILM策略并将其绑定到索引模板是实现高效管理的关键步骤。具体操作包括通过PUT请求创建新的ILM策略,并将其与索引模板关联。这样可以确保数据在不同阶段的平滑迁移和灵活管理。
    • 在阿里云Elasticsearch中,还可以通过修改indices生命周期 poll_interval参数来调整检查频率,从而优化性能。
  2. 性能优化与成本控制

    • ILM通过自动化管理索引的生命周期,不仅提高了数据处理效率,还显著降低了存储成本。例如,通过设置合理的策略周期和参数,可以确保在保证读写性能的同时,实现冷热数据的有效分离。
    • 在实际应用中,如日志分析场景,ILM策略可以确保最近30天的日志保留,同时保证最近7天的日志查询性能。
  3. 动态管理与监控

    • Elasticsearch ILM支持通过Kibana界面或API进行动态管理。用户可以根据实际需求调整策略,如调整Rollover、Shrink、Force Merge等动作的执行频率和条件。
    • 例如,在阿里云Elasticsearch中,通过创建新的ILM策略并将其与索引模板关联,可以实现对Elasticsearch集群中数据的高效管理和监控。
  4. 实战案例

    • 在实际应用中,ILM策略被广泛用于管理大规模日志数据。例如,通过ILM策略管理nginx日志索引,确保最近30天的日志保留,同时保证最近7天的日志查询性能。
    • 另一个案例是通过ILM策略实现冷热数据分离,从而优化存储成本和性能。

综上所述,Elasticsearch ILM的最佳实践案例主要集中在冷热数据分离、策略配置与模板绑定、性能优化与成本控制、动态管理与监控以及实战应用等方面。

Elasticsearch ILM策略配置中的常见问题及解决方案是什么?

Elasticsearch的ILM(索引生命周期管理)策略配置中常见的问题及解决方案可以从多个方面进行探讨。以下是一些常见问题及其解决方案:

1. 配置错误导致索引卡住

  • 问题描述:在配置ILM策略时,如果策略中未定义某些阶段(如“hot”或“warm”),可能会导致索引在执行过程中卡住。例如,当策略中没有设置“hot”箱类型时,可能会出现错误
  • 解决方案:确保在ILM策略中定义所有必要的阶段,并为每个阶段指定正确的参数。例如,可以使用以下命令重新分配索引或为索引分配新策略:
     PUT /_ilm/policy/my_new_policy{"phases": {"hot": {"actions": {"rollover": {"max_size": "50gb","max_age": "30d"}}},"warm": {"actions": {"copy_to": {"index": "my_warm_index"}}},"cold": {"actions": {"set优先级": {"level": "cold"}}},"delete": {"actions": {"delete": {}}}}}

确保策略中的每个阶段都包含必要的动作和参数。

2. 策略参数设置不当

  • 问题描述:ILM策略中的参数设置不当可能导致索引生命周期管理不按预期运行。例如,max_sizemax_age参数设置不当可能导致索引无法正常滚动。
  • 解决方案:仔细检查并调整策略中的参数设置。例如,可以使用以下命令创建一个包含合理参数的策略:
     PUT /_ilm/policy/my_policy{"phases": {"hot": {"actions": {"rollover": {"max_size": "50gb","max_age": "30d"}}},"warm": {"actions": {"copy_to": {"index": "my_warm_index"}}},"cold": {"actions": {"set优先级": {"level": "cold"}}},"delete": {"actions": {"delete": {}}}}}

确保每个阶段的参数设置合理,以避免不必要的问题。

3. 索引模板未正确设置

  • 问题描述:在配置ILM策略时,如果索引模板未正确设置,可能会导致策略无法生效。例如,修改索引模板后需要重新加载策略。
  • 解决方案:确保在修改索引模板后,通过以下命令重新加载策略:
     ./heartbeat setup --ilm-policy

或者手动更新索引模板并重新加载策略。

4. 索引生命周期管理的阶段顺序问题

  • 问题描述:ILM策略中定义的阶段顺序可能会影响索引的生命周期管理。例如,如果未按顺序定义阶段,可能会导致策略执行异常。
  • 解决方案:确保在配置ILM策略时,按照正确的顺序定义阶段。例如:
     PUT /_ilm/policy/my_policy{"phases": {"hot": {"actions": {"rollover": {"max_size": "50gb","max_age": "30d"}}},"warm": {"actions": {"copy_to": {"index": "my_warm_index"}}},"cold": {"actions": {"set优先级": {"level": "cold"}}},"delete": {"actions": {"delete": {}}}}}

确保每个阶段都按顺序定义,以避免不必要的问题。

5. 索引生命周期管理的故障排除

  • 问题描述:在配置和使用ILM策略时,可能会遇到各种故障。例如,索引可能因配置错误而卡住。

相关文章:

Elasticsearch的索引生命周期管理

目录 说明零、参考一、ILM的基本概念二、ILM的实践步骤Elasticsearch ILM策略中的“最小年龄”是如何计算的?如何监控和调整Elasticsearch ILM策略的性能? 1. **监控性能**使用/_cat/thread_pool API基本请求格式请求特定线程池的信息响应内容 2. **调整…...

【大模型理论篇】最近大火的DeepSeek-R1初探系列1

1. 背景介绍 这一整个春节,被DeepSeek-R1刷屏。各种铺天盖地的新闻以及老板发的相关信息,着实感受到DeepSeek-R1在国外出圈的震撼。 DeepSeek推出了新的推理模型:DeepSeek-R1-Zero 和 DeepSeek-R1。DeepSeek-R1-Zero 是一个在没有经过监督微调…...

【数据结构】(4) 线性表 List

一、什么是线性表 线性表就是 n 个相同类型元素的有限序列,每一个元素只有一个前驱和后继(除了第一个和最后一个元素)。 数据结构中,常见的线性表有:顺序表、链表、栈、队列。 二、什么是 List List 是 Java 中的线性…...

【C++ STL】vector容器详解:从入门到精通

【C STL】vector容器详解:从入门到精通 摘要:本文深入讲解C STL中vector容器的使用方法,涵盖常用函数、代码示例及注意事项,助你快速掌握动态数组的核心操作! 一、vector概述 vector是C标准模板库(STL&am…...

OpenAI推出Deep Research带给我们怎样的启示

OpenAI 又发新产品了,这次是面向深度研究领域的智能体产品 ——「Deep Research」,貌似被逼无奈的节奏… 在技术方面,Deep Research搭载了优化后o3模型并通过端到端强化学习在多个领域的复杂浏览和推理任务上进行了训练。因没有更多的技术暴露…...

洛谷[USACO08DEC] Patting Heads S

题目传送门 题目难度:普及/提高一 题面翻译 今天是贝茜的生日,为了庆祝自己的生日,贝茜邀你来玩一个游戏。 贝茜让 N N N ( 1 ≤ N ≤ 1 0 5 1\leq N\leq 10^5 1≤N≤105) 头奶牛坐成一个圈。除了 1 1 1 号与 N N N 号奶牛外&#xff0…...

CSS 溢出内容处理:从基础到实战

CSS 溢出内容处理:从基础到实战 1. 什么是溢出?示例代码:默认溢出行为 2. 使用 overflow 属性控制溢出2.1 使用 overflow: hidden 裁剪内容示例代码:裁剪溢出内容 2.2 使用 overflow: scroll 显示滚动条示例代码:显示滚…...

Spring Boot项目如何使用MyBatis实现分页查询

写在前面:大家好!我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油,冲鸭&#x…...

飞行汽车中的无刷外转子电机、人形机器人中的无框力矩电机技术解析与应用

重点:无刷外转子电机与无框力矩电机:技术解析与应用对比 在现代工业自动化和精密机械领域,无刷电机因其高效、低噪音和高可靠性而备受青睐。其中,无刷外转子电机和无框力矩电机更是以其独特的结构和性能特点,成为众多应用场景中的…...

FreeRTOS学习 --- 队列集

队列集简介 一个队列只允许任务间传递的消息为同一种数据类型,如果需要在任务间传递不同数据类型的消息时,那么就可以使用队列集 ! 作用:用于对多个队列或信号量进行“监听”,其中不管哪一个消息到来,都可让…...

【R语言】R语言安装包的相关操作

一、管理R语言安装包 1、安装R包 install.packages() 2、查看已安装的R包 installed.packages() 3、更新R包 update.packages() 4、卸载R包 remove.packages() 二、加载R语言安装包 打开R语言时,基础包(base包)会自动被加载到内存中…...

15.[前端开发]Day15-HTML+CSS阶段练习(网易云音乐四)

完整代码 01_网易云-header <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"wid…...

【基于SprintBoot+Mybatis+Mysql】电脑商城项目之用户登录

&#x1f9f8;安清h&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;【Spring篇】【计算机网络】【Mybatis篇】 &#x1f6a6;作者简介&#xff1a;一个有趣爱睡觉的intp&#xff0c;期待和更多人分享自己所学知识的真诚大学生。 目录 &#x1f3af;1.登录-持久层 &…...

测试方案和测试计划相同点和不同点

在软件测试领域&#xff0c;测试方案与测试计划皆为举足轻重的关键文档&#xff0c;尽管它们有着紧密的关联&#xff0c;但在目的与内容层面存在着显著的差异。相同点&#xff1a; 1.共同目标&#xff1a;测试方案和测试计划的核心目标高度一致&#xff0c;均致力于保障软件的…...

c++提取矩形区域图像的梯度并拟合直线

c提取旋转矩形区域的边缘最强梯度点&#xff0c;并拟合直线 #include <opencv2/opencv.hpp> #include <iostream> #include <vector>using namespace cv; using namespace std;int main() {// 加载图像Mat img imread("image.jpg", IMREAD_GRAYS…...

Unity Shader Graph 2D - 角色身体电流覆盖效果

在游戏中,通常会有游戏角色受到“电击”的效果,此时游戏角色身体上会覆盖有电流,该效果能表明游戏角色的当前状态,让玩家能够获得更直观更好的体验。 那么如何实现呢 首先创建一个ShaderGraph文件,命名为Current,再创建对应的材质球M_Current。 基础的资源显示 老规矩,…...

【LLM-agent】(task4)搜索引擎Agent

note 新增工具&#xff1a;搜索引擎Agent 文章目录 note一、搜索引擎AgentReference 一、搜索引擎Agent import os from dotenv import load_dotenv# 加载环境变量 load_dotenv() # 初始化变量 base_url None chat_model None api_key None# 使用with语句打开文件&#xf…...

携程Java开发面试题及参考答案 (200道-下)

insert 一行数据的时候加的是什么锁?为什么? 在 MySQL 中,当执行 INSERT 操作插入一行数据时,加锁的情况会因存储引擎和具体的事务隔离级别而有所不同。一般来说,在 InnoDB 存储引擎下,INSERT 操作加的是行级排他锁(Row Exclusive Lock),以下详细说明原因。 行级排他…...

GWO优化SVM回归预测matlab

灰狼优化算法&#xff08;Grey Wolf Optimizer&#xff0c;简称 GWO&#xff09;&#xff0c;是由澳大利亚格里菲斯大学的 Mirjalii 等人于 2014 年提出的群智能优化算法。该算法的设计灵感源自灰狼群体的捕食行为&#xff0c;核心思想是对灰狼社会的结构与行为模式进行模仿。 …...

QMK启用摇杆和鼠标按键功能

虽然选择了触摸屏&#xff0c;我仍选择为机械键盘嵌入摇杆模块&#xff0c;这本质上是对"操作连续性"的执着。   值得深思的是&#xff0c;本次开发过程中借助DeepSeek的代码生成与逻辑推理&#xff0c;其展现的能力已然颠覆传统编程范式&#xff0c;需求描述可自动…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量&#xff1a;setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

手机平板能效生态设计指令EU 2023/1670标准解读

手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读&#xff0c;综合法规核心要求、最新修正及企业合规要点&#xff1a; 一、法规背景与目标 生效与强制时间 发布于2023年8月31日&#xff08;OJ公报&…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...