KEDA 版本演进全览从 CHANGELOG 读懂 Kubernetes 事件驱动自动伸缩的技术进化v1.0 → v2.20【免费下载链接】kedaKEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes项目地址: https://gitcode.com/gh_mirrors/ke/kedaKEDAKubernetes Event-Driven Autoscaling是一个基于 Kubernetes 的事件驱动自动伸缩组件为运行在 Kubernetes 中的任意容器提供基于事件消息队列、数据库、HTTP 端点等的伸缩能力。本文以仓库根目录的 CHANGELOG.md 为主线系统梳理 KEDA 从 v1.0.0 到 v2.20.2 乃至 Unreleased 阶段的演进脉络scaler 生态如何扩张、核心 CRD 能力如何增强、认证与密钥解析体系如何变革、可观测性与稳定性如何持续加固以及升级时需要注意的破坏性变更。读完本文你将能够把 KEDA 的每个版本特性对应到具体源码位置并据此规划集群的升级路径与配置迁移。一、如何阅读这份 CHANGELOG结构与维护规范KEDA 的 CHANGELOG 并非简单的修复了几个 bug清单而是一份按版本组织的结构化发布记录。每个版本条目统一划分为以下小节New新增能力通常以**General**全局能力或**XXX Scaler**特定 scaler为前缀区分作用域部分版本下还有Experimental子节标注处于实验阶段的新特性如 v2.15.0 的 Datadog Cluster Agent 支持、v2.14.0 的 Azure Event Grid CloudEvent 目的地、v2.13.0 的 CloudEvents 事件发射、v2.12.0 的 OpenTelemetry 指标推送与公式化指标评估。Improvements对既有功能的增强往往带出具体的配置参数名。Fixesbug 修复、CVE 修复与稳定性修复。Deprecations已弃用项及替代方案如subscriptionSize→modevalue。Breaking Changes升级时必须处理的不兼容变更。Other依赖升级、CI/测试基建、重构等内部工作。值得注意的是CHANGELOG 的维护本身是项目工程规范的一部分。从 CONTRIBUTING.md 可以看到KEDA 的发布说明Release Notes实际由合并 PR 的元数据自动生成PR 标题必须遵循Component: Description格式例如General: Fix nil pointer dereference并由维护者在评审时打上恰好一个发布说明标签kind/feature、kind/new-scaler、kind/improvement、kind/bug、kind/deprecation、kind/breaking-change、kind/chore、kind/documentation、kind/dependencies、kind/ci不需要发布说明的改动则打skip-changelog。此外CHANGELOG 的格式与排序在 PR 阶段就受到校验v2.12.0 起引入changelog validation check during PR这正是这份文档能保持整齐划一结构的原因。版本号本身来自 version/version.go其Version变量在main分支上默认值为main发布时由构建流程注入具体版本号。二、Unreleased 与 v2.20.x当前最值得关注的新动向CHANGELOG 顶部Unreleased 章节记录了已经完成、将在下一个版本发布的工作项与 v2.20.x 共同构成了 KEDA 目前的功能前沿。1. 新的官方 ScalerUnreleased 一口气引入了三个新 scalerAzure Cosmos DB Change Feed Scaler基于 Cosmos DB 变更源Change Feed驱动伸缩适用于需要跟随数据变更速率弹性扩缩的流式消费场景。ClickHouse Scaler面向 ClickHouse 数据库查询结果伸缩仓库中对应实现位于 pkg/scalers/clickhouse_scaler.go。GCP Spanner Scaler基于 Google Cloud Spanner 的指标伸缩实现见 pkg/scalers/gcp_spanner_scaler.go并配套了集成测试 gcp_spanner_scaler_integration_test.go。2. 外部伸缩协议的演进StreamMetricSpec服务器流式 RPCUnreleased 中最具架构意义的新增项是在外部 scaler 的 gRPC proto 中增加了可选的StreamMetricSpec服务器流式 RPCserver-streaming RPC。它允许 external-push 类型的 scaler动态更新 HPA 的目标值target value而无需修改 ScaledObject。这一设计让外部系统如自定义推送式伸缩器可以直接影响 HPA 的目标指标而不只是提供指标值本身。相关协议定义可在 pkg/scalers/externalscaler/externalscaler.proto 及生成的 externalscaler_grpc.pb.go 中查看。3. 重要修复与新条件Temporal Scaler新增enableTLS参数API Key 认证时可禁用 TLS用于明文 gRPC 端点和可选的includeRunningWorkflowCount防止积压短暂为 0 但 Workflow Worker 仍忙碌时过早缩容同时移除了已弃用的buildId、selectAllActive、selectUnversioned改用workerDeploymentName与workerDeploymentBuildId。Solr Scaler修复了非 200 响应被当作队列长度 0 的问题——此前 Solr 故障、认证被拒或 collection 缺失时会把工作负载缩到 0 而非上报错误。Admission Webhook为 ScaledObject 校验增加了 controller-runtime 缓存字段索引verifyScaledObjects与verifyHpas通过索引化 List 查找重复的scaleTargetRef和 HPA 名称冲突取代全 namespace 扫描消除了高并发创建场景下的 webhook OOM。Github Runner Scaler修复了 per-repository ETag 任务缓存在同一仓库存在多个并发 run 时返回错误任务集、导致队列长度虚高的问题。4. v2.20.2稳定性补丁v2.20.2 引入了专用的HPAActive条件镜像 HPA 自身的ScalingActive状态从而避免 HPA 指标短暂缺失时把 ScaledObject 的Ready条件错误翻转为False。同版本还修复了共享根 CACertPool的并发 map 写入 panic、AWS Secret ManagerTriggerAuthentication在未配置凭据时的 nil 指针解引用以及customScalingStrategy.GetEffectiveMaxScale在省略customScalingQueueLengthDeduction时的 panic 等问题。三、v2.20.0功能密集的一次大版本v2.20.0 是近期功能密度最高的大版本值得单独拆解。1. 核心伸缩能力scalingModifiersfallback 行为在指标不可用时fallback 机制可以结合 scaling modifiers 参与计算而不是退回静态兜底值。新增 Elastic Forecast Scaler 与 OpenSearch Scaler前者基于历史数据预测未来负载实现见 pkg/scalers/elastic_forecast_scaler.go后者对接 OpenSearch 查询。ScaledObject 增加cooldownPeriod与pollingInterval的合理性检查并在设置idleReplicaCount大于 0 时不再误报polling/cooldown 参数无关的警告该修复在 Unreleased 中进一步完善。CRD 级校验标记Minimum、MinLength、MinItems、Enum批量加到 ScaledObject、ScaledJob、ScaleTriggers 与 TriggerAuthentication API 类型上。例如 scaledjob_types.go 中ScalingStrategy.Strategy字段带有kubebuilder:validation:Enumdefault;custom;accurate;eager标记正是这一轮 CRD 校验的落地结果之一。2. 运维与可观测性新增 scaler 出站 HTTP 请求指标keda_scaler_http_requests_total与keda_scaler_http_request_duration_seconds指标采集期间发生的外部 HTTP 调用都会被统计并可用--enable-high-cardinality-metrics-labels开启高基数标签。新增--leader-election-id标志允许自定义 leader election 的 Lease 名称。通过KEDA_HTTP_TLS_CIPHER_LIST、KEDA_SERVICE_TLS_CIPHER_LIST、KEDA_SERVICE_MIN_TLS_VERSION环境变量精细控制 TLS 版本与密码套件。引入控制器按标签选择器分片controller sharding支撑超大规模集群部署。3. Scaler 层面的增强与修复Temporal Scaler全面转向 Worker DeploymentworkerDeploymentName/workerDeploymentBuildId淘汰 Rules-Based Worker VersioningTemporal 服务端自 2024 年 12 月起已弃用该实验特性。RabbitMQ Scaler支持 OAuth2 认证MSSQL Scaler新增driverName以选用azuresql驱动从而启用 Microsoft Entra ID 认证AWS 全系 scaler支持在 podIdentity 中配置 AWS External ID 实现跨账号访问。Kafka Scaler在 Unreleased 中新增fullMetadata字段控制 Sarama 的集群全量元数据刷新降低按 topic 触发场景下的 operator 内存占用。性能方面webhook 校验热路径移除了无条件的json.MarshalIndent改用reflect.DeepEqual比较 spec修复了约 6 万个 ScaledObject 规模下持续准入负载导致的 webhook OOM。四、Scaler 生态的时间线从十余个到数十个从 CHANGELOG 可以清晰看到 KEDA 的 scaler 生态是逐版本滚雪球式扩张的。按引入顺序梳理版本新引入的 Scalerv1.1.0Huawei Cloud CloudEye、Kinesis Stream、Azure Blobv1.2.0PostgreSQL、MySQLv1.3.0Azure Monitorv1.5.0ActiveMQ Artemis、Redis Streams、Cronv2.0.0外部推送External Push、Metrics API、CPU/Memory、IBM MQ、Azure Log Analyticsv2.1.0InfluxDB、MongoDB、OpenStack Swift、Redis Clusterv2.2.0MSSQLv2.3.0Azure Pipelines、OpenStack Metricsv2.4.0Solace PubSub、Selenium Grid、Kubernetes Workloadv2.5.0Cassandra、Elasticsearch、Graphitev2.6.0ActiveMQ、Azure Application Insights、Datadog、New Relic、PredictKubev2.7.0AWS DynamoDB、Azure Data Explorer、GCP Stackdriver、GCP Storagev2.8.0AWS DynamoDB Streams、NATS JetStreamv2.10.0ArangoDB、GitHubv2.11.0Solrv2.12.0Google Cloud Tasksv2.15.0Dynatrace、Splunkv2.16.0Beanstalkdv2.17.0NSQ、Temporalv2.18.0Forgejo、Solace Direct Messaging、SolarWinds、Splunk Observability Cloud、Sumo Logicv2.19.0Kubernetes Resourcev2.20.0Elastic Forecast、OpenSearchUnreleasedAzure Cosmos DB Change Feed、ClickHouse、GCP Spanner截至当前仓库状态pkg/scalers/目录下已经积累了上百个 scaler 源文件与配套测试如 apache_kafka_scaler.go、aws_sqs_queue_scaler.go、prometheus_scaler.go 等并且每个 scaler 都遵循统一的Scaler接口与GetMetricsAndActivity模式v2.10.0 起为 Event Hub、Cron、External 等 scaler 合并了GetMetrics与IsActive调用。此外v2.18.0 引入的 Trigger Schema 生成工具把 scaler 参数定义沉淀到 schema/generated/scalers-schema.json 中配合 pkg/scalers/scalersconfig/scalersconfig.go 的声明式配置解析v2.15.0 起Use new declarative parsing to read scaler config新 scaler 的参数定义趋于统一、可校验。五、核心 CRD 能力的持续演进ScaledObject 与 ScaledJobCHANGELOG 同样记录了两大核心 CRD 从仅支持简单扩缩到精细控制的演进过程。1. ScaledObject 的关键能力节点v2.4.0引入Idle Replica ModeidleReplicaCount使工作负载可以缩到 0 但保留 HPA 存在引入fallback 功能指标不可用时兜底到固定副本数。v2.7.0引入autoscaling.keda.sh/paused-replicas注解将伸缩暂停在固定副本数支持ValueMetricType除 CPU/Memory 外所有 scaler 可用全局metricType。v2.8.0支持自定义 HPA 名称minReplicaCount支持ScaledJobAzure AD Workload Identity 作为新的 pod identity 提供方。v2.11.0支持接管同名、未被其他 ScaledObject 管理的既有 HPAautoscaling.keda.sh/paused: true注解暂停自动伸缩ScaledJob 版本同时引入。v2.12.0autoscaling.keda.sh/paused正式用于 ScaledObject新增stabilizationWindowSeconds校验。v2.14.0ScaledObject 支持initialCooldownPeriodvalidations.keda.sh/hpa-ownership注解可关闭 HPA 所有权校验。v2.17.0fallback 新增behavior选项支持动态兜底计算minReplicaCount在 ScaledJob 中落地。v2.18.0新增Force Activation 注解强制激活与pause scale in/out 注解fallback 扩展支持Value类型触发器的触发条件。v2.19.0accurateScalingStrategy修复pendingJobCount未计入maxReplicaCount检查的问题ScaledObject/ScaledJob 状态开始按 trigger 记录 activity。v2.20.0新增scalingModifiersfallback 行为。2. ScaledJob 的策略体系ScaledJob 在 v2.5.0 引入MultipleScalersCalculation与RolloutStrategyv2.8.0 支持配置 rollout 传播策略v2.9.0 支持minReplicaCount与maxReplicaCount之外的完整语义。其伸缩策略枚举在 scaledjob_types.go 中定义为default、custom、accurate、eager四类v2.15.0 新增eagerScalingStrategyv2.20.2 还修复了 CRD 校验遗漏 default 值的问题。而 v2.16.0 新增的generateEmbeddedObjectMeta标志则允许在 JobTargetRef 中生成 Job 的元数据属性。3. 事件与状态可见性v2.2.0 起 KEDA 开始在 Kubernetes 事件层面广播关键状态v2.10.0 引入 admission webhooks 自动校验资源变更v2.17.0 新增KEDAScalersInfo事件原因v2.19.0 起 ScaledObject/ScaledJob 的状态会追踪每个 trigger 的活动状态。事件可进一步以 CloudEvent 形式外发v2.13.0实验发射 CloudEventsv2.14.0 支持 Azure Event Grid 目的地与事件过滤v2.15.0 为 ScaledObjects 管理提供 CloudEventsv2.16.0 引入 ClusterCloudEventSource 并覆盖 ScaledJob、TriggerAuthentication 等资源。相关实现集中在 pkg/eventemitter/ 与 apis/eventing/v1alpha1/。六、认证与密钥解析体系的变革CHANGELOG 中占比最大的板块之一是认证Authentication体系它的演进可以概括为从单一模式走向多云、多提供方的统一抽象TriggerAuthentication 与 ClusterTriggerAuthenticationv2.1.0 引入ClusterTriggerAuthentication支持跨命名空间共享全局认证凭据v2.8.0 加入 Azure AD Workload Identity 支持v2.13.0 支持从 ConfigMap 读取 TriggerAuthentication 属性并新增 GCP Secret Manager 作为密钥来源。密钥提供方HashiCorp Vaultv1.5.0v2.10.0 支持 secrets backend version 1、Azure Key Vaultv2.7.0、AWS Secrets Managerv2.13.0 的 AWS 认证重构中完善、GCP Secret Managerv2.13.0、file-based 认证v2.19.0 起支持 ClusterTriggerAuthentication。相关 handler 位于 pkg/scaling/resolver/如 azure_keyvault_handler.go、hashicorpvault_handler.go、gcp_secretmanager_handler.go。Pod Identity 的收缩与迁移v2.15.0 明确移除了 AAD-Pod-Identity 与 AWS-KIAM 两种认证v2.13.0 也预告移除 Azure AD Pod Identityv2.13.0 的 Deprecations 列出Remove support for Azure AD Pod Identity-based authentication。方向是全面转向 Azure AD Workload Identity、AWS EKS Pod Identity 等更现代的身份机制。安全加固v2.9.0 支持Restrict Secret Access限制密钥读取范围v2.13.0 增加awsSecretManager.podIdentity覆盖逻辑v2.18.0 支持 Vault 通过跨命名空间 ServiceAccount 认证v2.20.2 修复了 AWS Secret Manager 缺失凭据时的 nil 指针 panic。七、可观测性与指标体系的建设PrometheusKEDA operator 侧指标在 v2.8.0 前后逐步完善——scaler activity、scaler latencyv2.10.0、构建信息与处理循环延迟v2.11.0、ScaledJob 与暂停态 ScaledObject 指标v2.13.0、API server 指标v2.12.0v2.14.0 统一按最佳实践重命名指标。v2.9.0 起提供开箱即用的 Grafana dashboardconfig/grafana/keda-dashboard.json。OpenTelemetryv2.12.0实验引入向 OpenTelemetry Collector 推送运维指标v2.14.0 增加 gRPC client/server 指标与 OpenTelemetry gRPC 支持。实现位于 pkg/metricscollector/opentelemetry.go。Raw Metrics 流v2.18.0 增加 gRPC 服务订阅原始指标值v2.18.1/v2.19.0 持续增强ScaledObject 轮询间隔内也发送指标、响应中携带 trigger activity 状态对应 pkg/metricsservice/ 下的 gRPC 服务实现。八、稳定性、性能与安全修复的典型模式阅读 Fixes 章节可以看到 KEDA 在三个方向上的持续投入并发与数据竞争scalers cache 加锁v2.17.1、v2.16.0、fallbackupdateStatus并发 map 读写修复v2.20.1、共享 root CACertPool并发写修复v2.20.2。资源泄漏HTTP 连接与响应体泄漏CouchDB、AWS scalerClose()关闭 idle 连接、gRPC 重连退避恢复v2.20.2、MongoDB 初始 Ping 失败后断开客户端。CVE 修复v2.9.x 至 v2.20.x 各版本持续跟进如 v2.17.0 修复 CVE-2025-27144/22868/29786/30204v2.20.2 修复 CVE-2026-42151/42154/40179。安全策略与上报渠道见 SECURITY.md。此外性能类优化也贯穿始终v2.13.0 并行请求所有 trigger、v2.19.0 用 informer 缓存替代 API server 查询、v2.20.0 共享 HTTP transport 复用连接池、v2.5.0 引入 ScalersCache 复用 scaler 实例。这些优化共同保证了 operator 在高 ScaledObject 数量下的可扩展性。九、升级必读破坏性变更汇总CHANGELOG 中标注的 Breaking Changes 是升级 KEDA 时必须逐一核对的事项重要的包括v1.0.0RabbitMQhost必须从 secret 解析。v2.0.0API group 从keda.k8s.io改为keda.shScaledObject 与 ScaledJob 拆分为独立 CRDFromEnv后缀规范如connection→connectionFromEnvService Bus 的queueLength改名messageCountCRD 升级到apiextensions.k8s.io/v1Kafka 的 SASL/TLS 配置拆分。v2.5.0 起不再向 Docker Hub 推送镜像改为 GHCR 等。v2.9.0HPA API 从autoscaling/v2beta2升到autoscaling/v2Kubernetes 最低版本提升到 v1.23。v2.11.0Metrics Adapter 移除已弃用的 Prometheus 指标与非 gRPC 代码。v2.12.0移除 trigger metadata 中已弃用的metricName。v2.15.0移除 AAD-Pod-Identity 与 AWS-KIAMPrometheus scaler 移除cortexOrgID。v2.16.0Pulsar scaler 移除msgBacklog触发器名。v2.17.0InitialCooldownPeriod类型从int32改为*int32External Scaler 移除tlsCertFile。v2.18.0CPU/Memory scaler 的type与 IBM MQ scaler 的tls被移除分别改用metricType、unsafeSsl。v2.19.0移除 NATS StreamingStan支持。v2.20.0GCP PubSub 移除subscriptionSize用modevalueInfluxDB 的authToken移到resolvedEnv/authParamsIBM MQ 移除tls设置Huawei Cloudeye 移除minMetricValue用activationTargetMetricValue。这些变更背后是 API 定义apis/keda/v1alpha1/、CRD 清单config/crd/bases/与 scaler 实现三者的同步演进升级前建议对照 CRD 校验标记与 scaler 文档逐一验证现有配置。十、总结从 CHANGELOG 看 KEDA 的演进逻辑纵观 v1.0.0 到 v2.20.2KEDA 的演进主线清晰可辨scaler 生态从十余个扩张到上百个覆盖 AWS、Azure、GCP、开源中间件与 SaaS 服务核心 CRD 从简单扩缩走向精细化控制idle、fallback、pause、force activation、scaling modifiers、多策略 ScaledJob认证体系收敛到现代云原生身份机制可观测性从零散指标走向 Prometheus OpenTelemetry CloudEvents 的三位一体同时以高频 CVE 修复与并发安全加固保证生产可用性。对使用者而言这份 CHANGELOG 既是升级检查清单也是理解 KEDA 各功能模块pkg/scalers/、pkg/scaling/、pkg/metricsservice/的最佳索引。结合 ROADMAP.md 与 Unreleased 章节可以持续跟踪 KEDA 的下一步方向。【免费下载链接】kedaKEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes项目地址: https://gitcode.com/gh_mirrors/ke/keda创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
Yii 2 数据排序实战指南:深入解析 yii\data\Sort 的配置、原理与数据提供者集成 后端Web框架 【免费下载链接】yii2 Yii 2: The Fast, Secure and Professional PHP Framework 项目地址: https://gitcode.com/gh_mirrors/yi/yii2 点击查看 免费下载 当页面需要展示多行数据,且允许终端用户按照某一列或某几列进行排序时,Y… · 2026/9/24 16:21:54
基于 OpenSL ES 与 JNI 的 Android Native Audio 示例深度解析 示例工程移动开发 【免费下载链接】ndk-samples Android NDK samples with Android Studio 项目地址: https://gitcode.com/gh_mirrors/nd/ndk-samples 点击查看 免费下载 Native Audio 是 ndk-samples 仓库中一个以 C OpenSL ES 音频 API 为核心、通过 JNI 与 Jav… · 2026/9/24 16:21:47
如何构建与部署tree-sitter-cangjie:Makefile、CMake与npm三种构建路径实战对比 如何构建与部署tree-sitter-cangjie:Makefile、CMake与npm三种构建路径实战对比 【免费下载链接】tree-sitter-cangjie 项目地址: https://gitcode.com/Cangjie-SIG/tree-sitter-cangjie
tree-sitter-cangjie 是专为仓颉编程语言打造的 Tree-sitter 语法解析… · 2026/9/24 16:21:47
【Coze】【视频】三分钟读一本书 今天给大家演示一个 《三分钟读一本书》Coze 工作流。该工作流通过大模型驱动的分镜文案生成、图像合成、语音合成以及视频草稿自动创建等一整套流程,将一本书的内容浓缩为一个三分钟的视频,实现从文本到成片的全自动化制作。用户只需输入书名、作者和个人账号信息,即可得到… · 2026/9/24 17:02:12
第24篇-MCP-Client架构-Host应用如何管理多个Server连接 【MCP 全栈教程】第 24 篇:MCP Client 架构——Host 应用如何管理多个 Server 连接 本系列定位:从协议原理到 Server 开发、Client 开发、再到各大平台实战集成,系统化掌握 MCP(Model Context Protocol)全栈技术体系。… · 2026/9/24 17:01:59
第21篇-MCP-Server测试-MCP-Inspector与自动化测试 【MCP 全栈教程】第 21 篇:MCP Server 测试——MCP Inspector 与自动化测试 本系列定位:从协议原理到 Server 开发、Client 开发、再到各大平台实战集成,系统化掌握 MCP(Model Context Protocol)全栈技术体系。 本篇你… · 2026/9/24 17:01:59
OneNote 笔记如何备份才不丢数据:3 种方案完整保姆级攻略 OneNote 笔记如何备份才不丢数据:3 种方案完整保姆级攻略 【免费下载链接】cs-408 计算机考研专业课程408相关的复习经验,资源和OneNote笔记 项目地址: https://gitcode.com/GitHub_Trending/cs/cs-408
用 OneNote 攒了几个月笔记,某次… · 2026/9/24 17:01:59
使用 AWS SDK for C++ 编写 Hello SNS:通过 ListTopics 入门 Amazon SNS 示例工程教程后端 【免费下载链接】aws-doc-sdk-examples Welcome to the AWS Code Examples Repository. This repo contains code examples used in the AWS documentation, AWS SDK Developer Guides, and more. For more information, see the Readme.md file below. 项目地… · 2026/9/24 17:01:53
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44