WSL2 + etcd + etcdkeeper 环境搭建踩坑记录
前言 最近在写一个自己的 RPC 框架,使用 etcd 作为注册中心,etcdkeeper 作为 Web 管理界面。之前一直能正常使用,某天突然发现服务提供方无法注册服务,etcdkeeper 网页端也一直加载不出来,折腾了整整一个晚上才彻底搞清楚原因。本文记录一下完整的踩坑过程和解决方案,希望能帮到遇到同样问题的朋友。 一、环境说明 组件 ...
前言 最近在写一个自己的 RPC 框架,使用 etcd 作为注册中心,etcdkeeper 作为 Web 管理界面。之前一直能正常使用,某天突然发现服务提供方无法注册服务,etcdkeeper 网页端也一直加载不出来,折腾了整整一个晚上才彻底搞清楚原因。本文记录一下完整的踩坑过程和解决方案,希望能帮到遇到同样问题的朋友。 一、环境说明 组件 ...
前言 在学习手写 RPC 框架的过程中,遇到了基于 Vert.x 实现的 TCP 服务器处理消息的一段代码。初看之下,既没有 while 循环,又有 Lambda、匿名内部类、事件驱动等多种概念交织在一起,让人摸不着头脑。本文从零开始,通俗地梳理这段代码的完整执行流程,并分析其中蕴含的设计模式,希望能帮助同样在学习 Vert.x 或 RPC 框架的朋友理解这套设计。 一、整体架构:三...
前言 最近在跟着编程导航鱼皮的教程手写 RPC 框架,第 7 章要求将原有的 HTTP 传输改为自定义 TCP 协议。改完之后消费者一直报错,折腾了不少时间,在此记录一下完整的排查和修复过程,希望能帮到同样踩坑的朋友。 一、背景介绍 本项目基于 Vert.x 构建 RPC 框架,第 7 章的目标是: 将原有的 VertxHttpServer 替换为 VertxTcpServ...
前言 在实现一个自定义 RPC 框架(zyro-rpc)的过程中,我手动设计了一套应用层通信协议,并实现了对应的编码器(Encoder)和解码器(Decoder)。 在写完编解码器后,跑单元测试时遇到了一个报错: java.lang.IllegalArgumentException: end must be greater or equal than start 排查过程不算复杂,...
问题描述 在使用自定义 RPC 框架时,消费者(Consumer)在调用服务时抛出以下异常: Exception in thread "main" java.lang.RuntimeException: Service not found: io.dangzitou.example.common.service.UserService at io.dangzitou.rpc.pr...
问题背景 在配置 vsftpd 作为 FTP 服务时,我写了一个自动化上传的脚本,脚本逻辑大致是: 打包本地文件为 /tmp/www.dzt.tar.gz 登录 FTP 服务器 切换到用户 user2 的目录 上传备份文件 脚本内容: #!/bin/bash FTP_HOST="$1" FTP_USER="$2" FTP_PWD="$3" echo "FTP主机:...
问题描述 在 Spring Boot 项目中集成阿里云 OSS 上传功能时,启动日志正常,但在上传文件时报错: 2025-09-21 22:53:56.720 [http-nio-8080-exec-6] INFO io.dangzitou.controller.UploadController-文件上传: image (1).png 2025-09-21 22:53:56.733 [h...
前言 今天是JavaWeb学习的第十天,进行首个小型项目——tlias教学管理系统开发的第五天,正在开发员工的新增功能。 这个时候就要用到Spring框架中的事务管理功能了,因为比如说下面的代码: emp.setCreateTime(LocalDateTime.now()); emp.setUpdateTime(LocalDateTime.now()); empMapper.insert(e...
最近在Ubuntu环境使用pip命令时出现以下报错: error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz i...
一维差分 1. 什么是差分数组? 核心定义:对于一个原始数组 A,它的差分数组 B 被定义为: B[i] = A[i] - A[i-1] (当 i > 1 时) B[1] = A[1] (当 i = 1 时) 核心性质:原始数组 A 是差分数组 B 的前缀和。 A[i] = B[1] + B[2] +...