朝阳的码农札记

代码如诗,

架构如画,

用心编写每一行代码,

用爱构建每一个系统

MongoDB 副本集从零搭建到生产可用

本文详细介绍了如何在生产环境中搭建MongoDB副本集,实现高可用性数据库架构。文章包含七个部分:首先说明了副本集解决的核心问题(自动故障转移、数据冗余和读写分离);然后详细描述了环境准备(物理机主库+Docker从库的配置)、部署步骤(包括keyfile生成和副本集初始化)、用户认证设置;接着通过测试验证了高可用功能;最后给出了应用连接方式和注意事项总结。整个流程涵盖了从零搭建到生产可用的完整操作指南,特别强调版本统一、安全认证和自动故障转移等关键点。

mongodb数据库

MongoDB 副本集搭建遇到的 10 个坑及解决方法

MongoDB副本集搭建避坑指南 本文总结了Docker+物理机混合部署MongoDB副本集时常见的10个问题及解决方案。核心问题集中在: Keyfile配置:权限需设为400且属主为mongodb用户(UID 999),主从库必须使用相同文件(占问题70%) 网络与端口:容器初始化需用内部端口(27017),避免--network host与-p参数冲突 数据残留:从库若曾独立初始化需清除/data目录重建 版本一致性:主从版本差异可能导致同步异常,建议主库版本≤从库 认证流程:应先关闭--auth创建首

mongodb数据库

MySQL 主从复制 — Docker 双机灾备方案

MySQL Docker 主从复制灾备方案 本文详细介绍了在 Docker 环境下搭建 MySQL 主从复制的灾备方案。主要内容包括: 环境准备 - 在两台服务器上分别部署主库和从库容器 主库配置 - 设置 binlog、创建复制用户并导出初始数据 从库配置 - 导入主库数据并建立复制链路 验证同步 - 通过创建测试数据验证复制功能正常 故障切换 - 当主库宕机时,将从库提升为新主库的操作步骤 方案特点: 使用 Docker 容器化部署 数据目录持久化存储 提供详细的复制状态检查方法 包含主库故障时的应急切

mysqldocker数据库

MySQL 主从复制 — 双服务器灾备方案(原生安装)

本文介绍了MySQL主从复制的原生安装配置方案(非Docker环境),包含主库和从库的完整配置步骤。主库需开启binlog、创建复制用户并开放防火墙;从库需配置server-id、导入主库数据并建立复制连接。文章还提供了故障切换指南:当主库宕机时,可将从库提升为新主库。关键配置包括binlog设置、复制用户权限、数据同步以及状态监控(Slave_IO_Running/Slave_SQL_Running必须为Yes)。该方案适用于需要双服务器灾备的MySQL 5.6环境。

mysql服务器数据库

视频网站 M3U8 链接经常失效?自己搭个下载服务一劳永逸

摘要:自建M3U8视频下载服务解决方案 针对M3U8链接易失效的问题,作者开发了基于Rust的服务器端下载方案。该方案通过浏览器油猴脚本捕获链接,由服务器执行下载任务,直接存储至NAS或服务器硬盘。优势包括:不占用本地空间、多设备共享下载队列、后台持续运行。服务端采用5MB的轻量级二进制程序,支持systemd自启动,内存占用仅80MB。特别处理了M3U8链接快速过期问题,并实现自动转码为MP4格式。项目已开源,兼容树莓派等设备。

音视频rust后端

树莓派跑了个 M3U8 下载服务,内存从 600MB 降到 2MB

本文分享了在树莓派上优化Rust编写的M3U8下载服务的经验。最初版本运行时内存占用高达607MB,存在三个关键问题:直传模式无限制缓存导致内存泄漏、频繁回调产生大量碎片、合并片段时整段读取内存。通过实施缓存上限、节流进度更新、流式拷贝等优化措施,内存占用从237MB降至1MB(空载),峰值从607MB降至273MB。项目采用Rust+axum技术栈,实现了浏览器提交M3U8链接自动转MP4的功能,现已开源。优化后显著提升了树莓派上的运行稳定性,解决了内存溢出风险。

rust性能优化

MAVLink 消息处理指南

MAVLink消息处理系统摘要 本系统实现了一套完整的MAVLink消息处理机制,用于无人机通信与控制。核心功能包括: 消息接收:通过UDP连接持续接收飞控消息,支持心跳维持机制 消息处理:分类处理多种MAVLink消息类型,包括心跳、位置、姿态和航点相关消息 航点管理:实现航点下载状态机,支持分片请求和接收航点数据 消息转发:将处理后的消息通过MQTT发布到指定主题 系统采用多线程架构,包含独立的消息接收线程和主处理循环,通过通道进行线程间通信。关键特性包括航点下载状态机、错误处理和日志记录机制,确保通信

mavlinkrust

rust 交叉编译指南

本指南介绍如何使用进行 Rust 项目的交叉编译,特别是针对 ARM64 Linux 平台。

rust开发语言后端

M3U8 下载助手油猴脚本 - 技术实现解析

M3U8下载助手技术解析 该油猴脚本通过注入拦截脚本实现对M3U8链接的全面捕获。核心架构包括: 请求拦截层:劫持XHR、fetch和WebSocket请求 DOM监听层:通过MutationObserver监控动态元素变化 跨域通信:iframe间使用postMessage传递数据 UI展示层:提供浮动按钮等交互界面 关键技术点: 使用document-start确保早期注入 通过保存原始方法实现API劫持 在send时而非open时检测URL 全面覆盖各种属性(src/href/data-src等) 脚

javascript前端windows

M3U8 下载助手油猴脚本 - 完全使用指南

M3U8下载助手是一款实用的油猴脚本工具,配合Tampermonkey扩展使用,可一键下载网页视频。安装简单:先装Tampermonkey扩展,再导入脚本并启动后端服务。使用时自动检测视频链接,显示浮动按钮,支持单一下载或批量复制链接,还能穿透iframe检测嵌入式视频。提供实时下载进度显示,支持自定义服务器地址和检测间隔。遇到问题可检查脚本加载状态或网络连接。该工具能高效保存在线视频,适合需要批量下载的用户使用。

javascript前端windows

我做了一个局域网传文件的小工具,记录一下

本文记录了作者开发局域网文件传输工具的过程。起因是工作中遇到大文件传输不便的问题,作者选择用Rust语言开发,解决了WebSocket状态管理、大文件上传限制等技术难点。最终成品通过浏览器即可使用,支持文字聊天和文件传输,内存占用低。同事们试用后反馈良好,建议增加拖拽上传等功能。作者认为Rust虽开发较繁琐但运行高效稳定,并将项目开源供社区参与改进。

javascriptrust

局域网聊天工具

这是一个基于Rust和Axum框架开发的局域网实时聊天工具,支持文本聊天、图片和文件分享功能。项目采用WebSocket实现实时通信,前端使用Tailwind CSS构建界面。主要功能包括实时消息传递、文件上传下载(限制100MB)、在线用户显示和消息历史记录。部署简单,只需Rust环境,通过Cargo编译运行即可启动服务。系统架构清晰,包含后端处理、前端界面和文件存储模块,适合局域网内团队协作使用。

rustjavascript
Profile

朝阳

朝阳的码农札记