任务调度大数据后端前端【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址https://gitcode.com/gh_mirrors/do/dolphinscheduler点击查看免费下载本篇技术指南以 Apache DolphinScheduler 官方 集群部署文档 为核心骨架系统讲解如何在多台机器上搭建可用于生产环境的 DolphinScheduler 集群从环境准备、安装包分发、数据库初始化到集群特有的配置修改策略dolphinscheduler_env.sh与common.properties、服务启动登录与日常启停运维。读完本文你将掌握一套完整、可复现的多机集群部署方案并理解其底层脚本与配置覆盖机制。一、集群部署概述为什么需要多机部署集群部署Cluster Deployment是指将 DolphinScheduler 部署在多台机器上以满足生产环境中大规模任务调度的需求。官方文档将部署形态划分为三个递进层次适用于不同阶段部署形态适用场景说明Standalone 部署新手快速体验单机单进程默认使用内存 H2 数据库适合少量工作流官方建议少于 20 个工作流伪集群部署体验完整功能、调度较大规模任务单机部署 master、worker、api-server 等全部服务集群部署本文生产环境、海量任务调度多台机器分布式部署服务按需分布在多节点上Kubernetes 部署容器化生产环境基于 Helm Chart 在 K8s 上编排集群部署与伪集群部署共用同一套脚本和配置文件前置准备与部署步骤基本相同核心差异在于两点一是集群面向多台机器二是修改配置这一步与伪集群差别很大——配置需要在多节点间保持一致并通过scp等方式分发。二、部署前置条件与环境准备2.1 外部软件依赖在开始集群部署前每台机器都需要满足以下环境要求与伪集群部署一致JDKJDK 1.8 或 11安装后配置环境变量JAVA_HOME并将JAVA_HOME/bin追加到PATH中。二进制安装包从 DolphinScheduler 官方下载页面获取对应版本的二进制包apache-dolphinscheduler-*-bin.tar.gz。数据库PostgreSQL8.2.15或 MySQL5.7任选其一若使用 MySQL需要 JDBC Driver 8.0.33。注册中心ZooKeeper3.8.0、MySQL8.0.33或 ETCD 三选一用于服务发现与分布式协调。进程树分析工具macOS 使用pstreeFedora/RedHat/CentOS/Ubuntu/Debian 使用psmisc。注意DolphinScheduler 本身不依赖 Hadoop、Hive、Spark但如果你需要运行依赖这些组件的任务必须在对应节点上准备相应运行环境。2.2 将安装包分发到每个节点官方文档明确指出将安装包分发到集群的每台服务器并在每台机器上执行伪集群部署中的全部步骤。即每台节点都拥有完整、解压好的 DolphinScheduler 二进制目录只是启动的服务角色可以不同。# 在分发服务器上解压 tar -xvzf apache-dolphinscheduler-*-bin.tar.gz # 通过 scp 分发到集群各节点node2、node3... scp -r apache-dolphinscheduler-*-bin usernode2:/opt/dolphinscheduler/ scp -r apache-dolphinscheduler-*-bin usernode3:/opt/dolphinscheduler/2.3 创建部署用户与 sudo 免密配置由于 DolphinScheduler 的多租户任务切换用户依赖sudo -u {linux-user} -i命令部署用户必须拥有免密sudo权限。以创建用户dolphinscheduler为例需以 root 登录执行# 创建用户 useradd dolphinscheduler # 添加密码 echo dolphinscheduler | passwd --stdin dolphinscheduler # 配置免密 sudo sed -i $adolphinscheduler ALL(ALL) NOPASSWD: NOPASSWD: ALL /etc/sudoers sed -i s/Defaults requirett/#Defaults requirett/g /etc/sudoers # 修改目录属主与权限 chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-*-bin chmod -R 755 apache-dolphinscheduler-*-bin提示如果在/etc/sudoers中发现Defaults requirett一行请将其注释掉如上述命令所示否则免密 sudo 可能无法生效。2.4 集群部署的三条关键注意事项官方文档对集群部署提出了三条必须遵守的注意事项直接决定集群能否正常工作配置文件必须全集群一致各机器上的配置文件如dolphinscheduler_env.sh、application.yaml、common.properties必须保持一致否则集群将无法正常工作。服务无状态、可混合部署每个服务api-server、master-server、worker-server、alert-server都是无状态且相互独立的因此可以在同一台机器上部署多个服务但需要注意端口冲突。资源中心默认目录DolphinScheduler 默认使用/tmp/dolphinscheduler目录作为资源中心。如需修改请修改conf/common.properties中的资源相关配置项。三、数据库准备与初始化集群中所有服务共享同一个元数据库。官方文档要求按 datasource-setting 文档 中 Pseudo-Cluster/Cluster Initialize the Database 一节完成数据库的创建与初始化。3.1 创建数据库与授权MySQL 5.6 / 5.7mysql -uroot -p mysql CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; # 将 {user} 和 {password} 替换为你的用户名和密码 mysql GRANT ALL PRIVILEGES ON dolphinscheduler.* TO {user}% IDENTIFIED BY {password}; mysql GRANT ALL PRIVILEGES ON dolphinscheduler.* TO {user}localhost IDENTIFIED BY {password}; mysql flush privileges;MySQL 8mysql -uroot -p mysql CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; # 将 {user} 和 {password} 替换为你的用户名和密码 mysql CREATE USER {user}% IDENTIFIED BY {password}; mysql GRANT ALL PRIVILEGES ON dolphinscheduler.* TO {user}%; mysql CREATE USER {user}localhost IDENTIFIED BY {password}; mysql GRANT ALL PRIVILEGES ON dolphinscheduler.* TO {user}localhost; mysql FLUSH PRIVILEGES;PostgreSQL# 使用 psql 登录 PostgreSQL psql # 创建数据库 postgres# CREATE DATABASE dolphinscheduler; # 将 {user} 和 {password} 替换为你的用户名和密码 postgres# CREATE USER {user} PASSWORD {password}; postgres# ALTER DATABASE dolphinscheduler OWNER TO {user}; # 退出 PostgreSQL postgres#\q # 在终端执行将集群各节点的 IP 加入 pg_hba.conf 并重载配置{ip} 替换为 DS 集群节点 IP echo host dolphinscheduler {user} {ip} md5 $PGDATA/pg_hba.conf pg_ctl reload集群场景特别提示PostgreSQL 的pg_hba.conf必须为所有 DolphinScheduler 集群节点的 IP开放访问权限而 MySQL 的GRANT ... TO {user}%已允许任意主机访问两者都需确保数据库服务器可被集群内所有节点网络可达。3.2 设置数据库环境变量创建好数据库后通过导出环境变量完成数据库连接配置。这些环境变量需要在集群的每台机器上保持一致。MySQLexport DATABASE${DATABASE:-mysql} export SPRING_PROFILES_ACTIVE${DATABASE} export SPRING_DATASOURCE_URLjdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicodetruecharacterEncodingUTF-8useSSLfalse export SPRING_DATASOURCE_USERNAME{user} export SPRING_DATASOURCE_PASSWORD{password}PostgreSQLexport DATABASE${DATABASE:-postgresql} export SPRING_PROFILES_ACTIVE${DATABASE} export SPRING_DATASOURCE_URLjdbc:postgresql://127.0.0.1:5432/dolphinscheduler export SPRING_DATASOURCE_USERNAME{user} export SPRING_DATASOURCE_PASSWORD{password}注意若使用 MySQL 作为元数据库需要手动下载 mysql-connector-java 驱动8.0.16 及以上版本并将其复制到各服务的libs目录api-server/libs、alert-server/libs、master-server/libs、worker-server/libs以及tools/libs。由于 MySQL 驱动与 Apache LICENSE V2 协议不兼容官方发行包中不包含该驱动。3.3 执行初始化脚本上述步骤完成后运行升级/初始化脚本写入元数据表结构bash tools/bin/upgrade-schema.sh四、修改配置集群部署与伪集群部署的关键差异官方文档强调修改配置这一步在集群部署中与伪集群部署差别很大。核心要点是先在各节点完成配置修改再通过scp或其他方法将配置文件分发到每台机器确保全集群配置一致。4.1 核心配置文件dolphinscheduler_env.sh环境配置文件位于bin/env/dolphinscheduler_env.sh同时各服务目录下也有api-server/conf/application.yaml、master-server/conf/application.yaml、worker-server/conf/application.yaml、alert-server/conf/application.yaml。配置内容覆盖DolphinScheduler 的数据库配置见上文数据库准备与初始化需要外部依赖或库的任务配置如JAVA_HOME、SPARK_HOME等注册中心配置默认类型可在文件中指定服务相关配置如缓存类型、时区等。如果你不使用某些任务可以忽略对应的任务外部依赖配置但JAVA_HOME、注册中心和数据库相关配置必须根据你的环境修改。标准配置模板如下# JAVA_HOME用于启动 DolphinScheduler 服务 export JAVA_HOME${JAVA_HOME:-/opt/soft/java} # 数据库相关配置设置数据库类型、用户名和密码 export DATABASE${DATABASE:-postgresql} export SPRING_PROFILES_ACTIVE${DATABASE} export SPRING_DATASOURCE_URLjdbc:postgresql://127.0.0.1:5432/dolphinscheduler export SPRING_DATASOURCE_USERNAME{user} export SPRING_DATASOURCE_PASSWORD{password} # DolphinScheduler 服务相关配置 export SPRING_CACHE_TYPE${SPRING_CACHE_TYPE:-none} export SPRING_JACKSON_TIME_ZONE${SPRING_JACKSON_TIME_ZONE:-UTC} # 注册中心配置决定注册中心的类型与连接串 export REGISTRY_TYPE${REGISTRY_TYPE:-zookeeper} export REGISTRY_ZOOKEEPER_CONNECT_STRING${REGISTRY_ZOOKEEPER_CONNECT_STRING:-localhost:2181} # 任务相关配置使用相关任务时需修改 export HADOOP_HOME${HADOOP_HOME:-/opt/soft/hadoop} export HADOOP_CONF_DIR${HADOOP_CONF_DIR:-/opt/soft/hadoop/etc/hadoop} export SPARK_HOME${SPARK_HOME:-/opt/soft/spark} export PYTHON_LAUNCHER${PYTHON_LAUNCHER:-/opt/soft/python/bin/python3} export HIVE_HOME${HIVE_HOME:-/opt/soft/hive} export FLINK_HOME${FLINK_HOME:-/opt/soft/flink} export DATAX_LAUNCHER${DATAX_LAUNCHER:-/opt/soft/datax/bin/datax.py} export PATH$HADOOP_HOME/bin:$SPARK_HOME/bin:$PYTHON_LAUNCHER:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_LAUNCHER:$PATH4.2 集群场景下的注册中心配置注册中心是集群部署的神经系统master 与 worker 通过注册中心进行服务发现与故障转移。集群场景下必须将REGISTRY_ZOOKEEPER_CONNECT_STRING配置为 ZooKeeper 集群的全部节点例如仓库 CI 集群测试中使用的配置export REGISTRY_TYPE${REGISTRY_TYPE:-zookeeper} export REGISTRY_ZOOKEEPER_CONNECT_STRING${REGISTRY_ZOOKEEPER_CONNECT_STRING:-zoo1:2181,zoo2:2182,zoo3:2183} export REGISTRY_ZOOKEEPER_BLOCK_UNTIL_CONNECTED30000ms这里REGISTRY_ZOOKEEPER_BLOCK_UNTIL_CONNECTED30000ms表示服务启动时等待注册中心连接的最长阻塞时间30 秒超过该时间仍未连上则启动失败是集群场景下保障配置错误快速暴露的重要参数。仓库中 cluster-test 的 PostgreSQL ZooKeeper 配置示例 完整演示了多节点 ZooKeeper 连接串的写法。此外该集群测试示例中还配置了负载保护阈值CPU/内存使用率 0.7用于防止单节点资源过载时继续接收任务相关变量包括MASTER_SERVER_LOAD_PROTECTION_MAX_SYSTEM_CPU_USAGE_PERCENTAGE_THRESHOLDS、WORKER_SERVER_LOAD_PROTECTION_MAX_SYSTEM_MEMORY_USAGE_PERCENTAGE_THRESHOLDS等可按需在集群环境中启用。4.3 配置覆盖优先级一份 env 文件管理全集群dolphinscheduler_env.sh中的配置会覆盖各服务配置文件application.yaml中的对应项。例如application.yaml中的spring.datasource.url对应环境变量SPRING_DATASOURCE_URL其余配置依此类推。从 dolphinscheduler-daemon.sh 脚本 的源码可以看到其底层机制当执行bash ./bin/dolphinscheduler-daemon.sh start service时脚本中的overwrite_server_env()函数会自动将bin/env/dolphinscheduler_env.sh复制并覆盖service/conf/dolphinscheduler_env.sh。这意味着只需维护bin/env/dolphinscheduler_env.sh一份配置即可保证所有服务使用统一的环境变量这也是全集群配置一致的最佳落地方式若使用service/bin/start.sh直接启动单个服务则会读取service/conf/dolphinscheduler_env.sh此时需自行保证各服务配置的一致性。4.4 资源中心配置common.properties官方文档提醒DolphinScheduler 默认使用/tmp/dolphinscheduler作为资源中心目录。从 common.properties 源码配置 可以看到相关核心项# 用户数据本地目录路径请确保目录存在且有读写权限 data.basedir.path/tmp/dolphinscheduler # 资源存储类型LOCAL, HDFS, S3, OSS, GCS, ABS, OBS resource.storage.typeLOCAL # 资源在 HDFS/S3 上的存储根路径推荐使用 /dolphinscheduler resource.storage.upload.base.path/tmp/dolphinscheduler集群部署中的资源中心抉择官方注释明确指出LOCAL模式不支持分布式读写意味着资源只能在同一台机器上使用除非挂载共享文件系统。因此多机集群在生产环境通常需要将resource.storage.type切换为HDFS、S3、OSS等分布式存储并同步修改resource.storage.upload.base.path及各云厂商的认证配置项如resource.alibaba.cloud.access.key.id、resource.hdfs.fs.defaultFS等并确保conf/common.properties在每台机器上保持一致。五、分发配置并启动集群5.1 将统一配置分发到所有节点在其中一台机器完成全部配置修改后使用scp将其分发到集群的每一台机器保证配置完全一致# 分发环境变量配置文件 scp bin/env/dolphinscheduler_env.sh usernode2:/opt/dolphinscheduler/bin/env/ scp bin/env/dolphinscheduler_env.sh usernode3:/opt/dolphinscheduler/bin/env/ # 分发资源中心等公共配置如各服务 conf 目录下的 common.properties scp conf/common.properties usernode2:/opt/dolphinscheduler/conf/5.2 启动各服务在每台机器上按规划启动对应服务服务日志存放在xxx-server/logs目录# 启动 api-server bash ./bin/dolphinscheduler-daemon.sh start api-server # 启动 master-server bash ./bin/dolphinscheduler-daemon.sh start master-server # 启动 worker-server bash ./bin/dolphinscheduler-daemon.sh start worker-server # 启动 alert-server bash ./bin/dolphinscheduler-daemon.sh start alert-server首次部署时可通过以下命令检查各服务状态bash ./bin/dolphinscheduler-daemon.sh status xxx-server从 dolphinscheduler-daemon.sh 脚本实现看启动过程会执行以下动作检查 PID 文件防止重复启动 → 调用overwrite_server_env统一环境变量 → 通过nohup后台运行service/bin/start.sh并把输出写入logs/service-hostname.out→ 将进程号写入service/pid文件。状态检查通过读取 PID 文件并比对进程是否存在来实现因此请勿手工删除各服务的pid文件。5.3 集群服务角色规划建议由于每个服务无状态且相互独立常见的生产规划方式包括小规模集群2~3 台机器每台同时部署 master-server worker-server单独 1~2 台部署 api-server 与 alert-server大规模集群master-server 独立部署在专用节点worker-server 按计算资源池横向扩容多台api-server 前置负载均衡。同一台机器部署多个服务时需注意各服务的端口不冲突如 api-server 默认 12345、alert 的 RPC 端口见common.properties中alert.rpc.port50052等并确保这些端口在集群节点间的防火墙中放行。六、登录 DolphinScheduler集群部署完成后登录方式与伪集群部署完全一致。访问以下地址打开 Web UIhttp://api-server节点IP:12345/dolphinscheduler/ui默认用户名和密码为admin/dolphinscheduler123。首次登录后建议立即修改默认密码并创建各租户对应的部署用户。提示Python gateway 服务随 api-server 一同启动。如果不需要 Python 网关服务可修改api-server/conf/application.yaml中的配置python-gateway.enabled : false后重启 api-server 使其生效。七、集群日常启停与运维7.1 启停命令各服务支持start、stop、status三种操作运维命令如下# 查看服务状态 bash ./bin/dolphinscheduler-daemon.sh status xxx-server # 停止 / 启动 Master bash ./bin/dolphinscheduler-daemon.sh stop master-server bash ./bin/dolphinscheduler-daemon.sh start master-server # 启动 / 停止 Worker bash ./bin/dolphinscheduler-daemon.sh start worker-server bash ./bin/dolphinscheduler-daemon.sh stop worker-server # 启动 / 停止 Api bash ./bin/dolphinscheduler-daemon.sh start api-server bash ./bin/dolphinscheduler-daemon.sh stop api-server # 启动 / 停止 Alert bash ./bin/dolphinscheduler-daemon.sh start alert-server bash ./bin/dolphinscheduler-daemon.sh stop alert-server脚本用法为dolphinscheduler-daemon.sh (start|stop|status) api-server|master-server|worker-server|alert-server|standalone-server其中standalone-server仅用于单机体验集群部署不应使用。7.2 日志与排障服务控制台日志service/logs/service-hostname.out由 daemon 脚本重定向生成服务自身运行日志service/logs目录排障建议启动失败时优先检查dolphinscheduler_env.sh中的数据库连接串与注册中心连接串是否在所有节点一致且可达再查看对应服务的.out日志定位具体异常。7.3 集群可验证性仓库中的 cluster-test 目录 提供了四种官方集群组合的 CI 测试配置MySQL/PostgreSQL × ZooKeeper/MySQL 注册中心其中 start-job.sh 展示了典型的集群验证流程先启动基础服务容器数据库、ZooKeeper再构建并启动 DolphinScheduler 多节点集群容器随后运行测试脚本验证集群功能最后清理资源。这套流程可作为你在真实环境验证集群部署是否成功的参考模板。八、集群部署要点总结配置一致性是集群的生命线所有节点的dolphinscheduler_env.sh、application.yaml、common.properties必须保持一致建议只维护bin/env/dolphinscheduler_env.sh一份配置再通过scp分发注册中心务必配置为多节点ZooKeeper 连接串应包含全部注册中心节点如zoo1:2181,zoo2:2182,zoo3:2183并合理设置连接阻塞超时资源中心避免使用默认的 LOCAL 模式多机集群建议改用 HDFS、S3、OSS 等分布式存储并同步修改common.properties中resource.storage.type与resource.storage.upload.base.path数据库需对所有集群节点开放访问PostgreSQL 需在pg_hba.conf中为每个节点 IP 放行MySQL 需使用user%授权服务无状态、可混合部署master/worker/api/alert 各服务可灵活分布注意端口冲突与防火墙放行统一启停入口始终通过bin/dolphinscheduler-daemon.sh管理各服务脚本会自动统一环境变量并维护 PID 与日志文件。赞分享任务调度大数据后端前端【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址https://gitcode.com/gh_mirrors/do/dolphinscheduler点击查看免费下载相关推荐Apache DolphinScheduler 集群部署Cluster实战指南多机生产环境搭建全流程Apache DolphinScheduler 集群部署Cluster实战指南多机生产环境搭建全流程 导读 本文以 Apache DolphinSche任务调度数据编排工作流自动化后端大数据Apache DolphinScheduler 软硬件环境建议配置与生产部署指南Apache DolphinScheduler 软硬件环境建议配置与生产部署指南 Apache DolphinScheduler 作为开源分布式工作流任务调度系任务调度数据编排工作流自动化后端大数据Apache DolphinScheduler 集群部署完整指南从环境准备到多机生产级启动Apache DolphinScheduler 集群部署完整指南从环境准备到多机生产级启动 本指南基于 Apache DolphinScheduler 官方集任务调度数据编排工作流自动化后端大数据上一篇告别版本焦虑LenovoLegionToolkit自动更新全掌控指南下一篇终极设计开发协作方案Figma-Context-MCP 实现变量与样式自动同步创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
Redwood 项目中的 TypeScript:从初始化到类型安全的渐进式落地指南 Redwood 项目中的 TypeScript:从初始化到类型安全的渐进式落地指南 【免费下载链接】redwood RedwoodGraphQL 项目地址: https://gitcode.com/gh_mirrors/re/redwood
Redwood 框架(仓库根目录)为全栈 TypeScript 提供了开箱即用的支持… · 2026/9/23 17:59:19
LSTM股价预测实战:从数据清洗到回测验证的完整闭环 简介:本资源是一套面向深度学习初学者与金融时间序列建模实践者的LSTM股价预测开源代码包,聚焦解决传统RNN在长期依赖建模中的梯度消失问题,适用于股票价格趋势预测、量化策略原型验证等典型应用场景。压缩包共153个文件,含89个Py… · 2026/9/23 17:59:19
Python学习第七天:函数与模块的分水岭,零基础如何突破 1. 第七天为什么是Python学习的分水岭1.1 从"照着敲"到"自己写"的临界点如果你正在按天打卡学Python,第七天大概率会撞上一堵墙。前六天你可能已经搞定了环境安装、变量、数据类型、条件判断和循环,敲过的代码加起来也有几百行了。但… · 2026/9/23 17:59:13
张稀哲转岗水利坑:3个新手避坑指南 张稀哲转岗水利坑:3个新手避坑指南 官方文档翻了三遍还是懵?张稀哲转岗水利这茬事,坑多到让人头大。新手避坑第一步,就是别被“通用型”教程带偏。水利岗位不是写代码,是跟规范、跟现场、跟审批打交道。很多刚转行的兄弟,拿着IT思维硬套水利流程,结… · 2026/9/23 19:13:32
changesets publish 命令深度解析:发布流程、返回值与 2FA 处理机制 changesets publish 命令深度解析:发布流程、返回值与 2FA 处理机制 【免费下载链接】changesets 🦋 A tool to manage versioning and changelogs with a focus on monorepos 项目地址: https://gitcode.com/gh_mirrors/ch/changesets
导读
cha… · 2026/9/23 19:13:32
惠普暗影精灵3开发避坑指南:3个底层原理救活你的项目 惠普暗影精灵3开发避坑指南:3个底层原理救活你的项目 看了一堆教程还是不会写项目?这大概是每个刚入行的开发者最崩溃的时刻。你背熟了语法,看懂了Demo,但一旦自己动手搭建一个完整的业务逻辑,代码就像是一盘散沙,根本粘不到一起。… · 2026/9/23 19:13:17
3个技巧一文搞懂ankiweb性能优化实战 3个技巧一文搞懂ankiweb性能优化实战 官方文档翻了三遍还是觉得头大?ankiweb的源码逻辑确实有些绕,很多开发者直接跳过,结果在本地化部署或二次开发时踩坑无数。今天不聊虚的,直接上干货,用 一文搞懂… · 2026/9/23 19:13:17
虚拟光盘源码解析:3步搞定本地ISO挂载避坑指南 虚拟光盘源码解析:3步搞定本地ISO挂载避坑指南 官方文档翻了三遍还是没搞懂挂载参数?别急,直接看源码解析,5分钟让你彻底明白虚拟光盘怎么在本地跑起来。… · 2026/9/23 19:13:10
3招搞定手机怎么下载微信面试难题实战项目解析 3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29