- 博客(26)
- 收藏
- 关注
原创 Embedding 与 Rerank 的区别与联系:召回与精排的两阶段协作
在大模型/RAG/搜索里,:embedding 负责从海量候选里快速找出可能相关的 TopN,rerank 负责对这 TopN 做更精细的相关性打分和重排。二者是,不是替代关系。
2026-11-04 16:43:31
371
原创 浅谈在网关(如 Spring Cloud Gateway)中HTTP 路由(http://localhost:808x)与服务发现路由(lb://service-name)的核心区别
在网关(如 Spring Cloud Gateway)中,直接使用 HTTP 路由(http://localhost:808x)与服务发现路由(lb://service-name)的核心区别在于是否依赖注册中心以及能否动态感知服务实例的变化。目标地址写法 http://具体IP:端口,如 http://localhost:8081 lb://服务名,如 lb://user-service。当实例状态变化(上线/下线/健康检查失败),注册中心会通知网关,网关动态更新本地实例列表,实现无感切换。
2026-05-14 15:34:18
285
原创 AI 编程中提到的Spec和Superpower的区别
Spec 是你给 AI 的“图纸”,决定了做什么、边界在哪。Superpower 是 AI 自身的“智慧”,决定了它能多高效、多可靠、多智能地执行你的 spec。在优秀的 AI 编程工具中,好的 spec 能引导 superpower 发挥得更精准,而 superpower 也能容忍你 spec 中的不完整甚至小错误。两者配合,才是 AI 编程的实用状态。
2026-04-21 10:33:11
941
原创 详述ESB中的边车调用
ESB边车调用”是对云原生时代服务间通信模式的一种形象描述。将原先集中式ESB的处理能力,以边车代理的形式部署在每个服务旁边,由这些边车代理负责完成原本ESB所承担的服务间通信、治理和转换功能。这既保留了服务治理能力,又解决了ESB中心化带来的性能和耦合问题。
2026-02-24 15:36:04
471
原创 Kafka基础架构
实时与leader副本保持同步,在leader发生故障时,成为新的leader。为了实现扩展性,一个非常大的topic可以分布到多个broker(即服务器)上,kafka提供了副本机制,一个topic的每个分区都有若干个副本,一个。,生产者发送数据的对象,以及消费者消费数据的对象都是leader。一个topic下的一个分区只能被一个消费者组内的一个消费者所消费。消息消费者,向kafka broker获取消息的客户端;,一个broker可以有多个不同的topic,,生产者和消费者面向的都是一个topic;
2026-02-02 13:54:39
273
原创 消息队列2种模式的区别:点对点模式和发布/订阅模式
在实际系统中,经常会将两种模式结合使用,以构建更健壮的分布式系统。:消息通过主题(Topic)或交换机(Exchange)分发。↘ → 消费者1。↘ → 消费者2。↘ → 消费者3。:Queue(点对点),Exchange(发布订阅)# 订单处理:一个订单只需要一个处理器处理。生产者 → 主题/交换机 → 多个消费者。订单生成 → 订单队列 → 订单处理服务。用户注册 → 用户注册主题 → 邮件服务。生产者 → 消息队列 → 消费者。
2026-02-02 13:39:55
558
1
原创 开发中经常听到的二方包,到底是什么?
二方包是企业内部开发的共享软件包,介于项目内部模块(一方包)和公共开源库(三方包)之间。它由公司其他团队开发,供多个项目复用,如基础工具包、业务SDK和中间件客户端。二方包具有统一技术栈、提高代码复用率、质量可控等优势,但也需注意版本冲突、循环依赖等问题。管理规范包括明确命名规则、版本策略和权限控制。最佳实践强调单一职责、最小依赖、充分测试和详细文档。良好的二方包体系能提升企业研发效能,是技术沉淀的重要体现。
2026-01-26 19:03:22
665
原创 maven私库、二方包release、二房包snapshot之间的区别
私有仓库,企业内部搭建的Maven仓库用于存储和管理企业内部的二方包和第三方依赖私库是基础设施,提供存储和管理能力Snapshot是开发中的"活"版本,用于持续集成Release是稳定的"死"版本,用于生产环境三者共同构成了企业级Maven依赖管理的完整体系。
2026-01-26 18:54:06
1709
原创 Nacos报错问题整理1
Spring Cloud Alibaba 2021.1 需要 Spring Cloud 2021.x,但你使用的是 Spring Cloud 2020.0.1。
2026-01-08 20:23:46
708
原创 详谈Nacos 和 Eureka的区别
Nacos 和 Eureka 都是微服务架构中用于实现的核心组件,但它们的设计理念、功能特性和技术背景有显著差异。
2026-01-04 13:51:29
975
原创 K8S之rke2证书过期,如何处理以及遇到的问题
如果使用的是高可用集群,比如3台节点都是master的方式,需要每台节点执行一次sudo systemctl restart rke2-server,保险起见再将新生成的/etc/rancher/rke2/rke2.yaml文件,copy到当前用户目录(~/.kube/config)和根目录/root/.kube/config,需要使用到sudo权限。近期在登录测试环境时,发现无法使用k8s指令来查看pod、node等信息,后来发现是rke2证书过期。如果证书过期时间大于90天,如何强制重新生成证书呢?
2025-12-17 17:17:14
350
原创 K8S中Namespace(ns)、Pod、Service和ConfigMap(cm)四种重要的资源对象的关系
Namespace提供了资源隔离和分组。Pod是运行应用的容器组。Service提供了对一组 Pod 的稳定访问和负载均衡。ConfigMap提供了配置数据的管理,并可以将配置注入到 Pod 中。它们之间的关系可以概括为:在同一个 Namespace 中,Service 通过标签选择器将流量路由到具有匹配标签的 Pod,而 Pod 可以通过 ConfigMap 获取配置数据。这样,我们就能够构建一个可配置、可访问且隔离的微服务应用。
2025-12-15 16:02:15
921
原创 K8S之创建cm指令create和 apply的区别
简而言之,create是一个一次性命令,而apply是一个持续管理流程。在现代 Kubernetes 的 GitOps 实践中,几乎总是使用(或其背后的工具如kustomizehelm) 配合 YAML 文件。这种方式能将所有基础设施配置代码化,便于审查、回滚和自动化,是实现可靠运维的基石。
2025-12-15 15:13:26
424
原创 ZooKeeper选举机制详解
服务器1和2分别投自己一票并交换选票信息:此时服务器1发现服务器2的myid比自己目前投票推举的(服务器1)大,更改选票为推举服务器2。此时服务器1票数0票,服务器2票数2票,没有半数以上结果,选举无法完成,服务器1,2状态保持LOOKING。此次投票结果:服务器1为0票,服务器2为0票,服务器3为3票。此时服务器1,2,3已经不是LOOKING状态,不会更改选票信息。SID为1、2、4的机器投票情况: (1,8,1) (1,8,2) (1,7,4)
2025-12-12 11:05:57
531
原创 K8S之Ctr 和 Docker的区别
ctr和docker是两个定位、功能和面向用户完全不同的容器工具。简单来说,docker是面向开发者的,而ctr是面向运维和开发者的。
2025-12-11 16:20:33
1165
原创 Linux离线安装Docker最简单的方法
观察输出,确认它是否针对你的系统架构(例如。# 3. 创建 systemd 服务文件。# 5. 配置 daemon.json。# 2. 复制二进制文件到系统目录。(64位Intel/AMD)或。# 6. 启动 Docker。,下载对应你系统架构(如。)的压缩包,重新安装。# 1. 解压二进制包。# 4. 创建配置目录。
2025-12-09 22:36:07
565
原创 K8S之Service和Pod的关系(二)
Kubernetes中Service与Pod的关系实现了访问解耦:Pod作为动态变化的运行单元,通过标签与Service关联;Service则提供稳定的虚拟IP/DNS和负载均衡功能。Service通过selector匹配Pod标签,自动维护Endpoint列表,并由kube-proxy实现流量转发。这种设计使得Pod可以自由扩缩容而不影响服务访问,同时支持多种暴露方式(ClusterIP/NodePort/LoadBalancer)。二者的分离提供了服务发现、负载均衡和稳定访问入口等核心能力,是Kuber
2025-12-09 16:05:13
839
原创 解决方法:在本地电脑安装的Centos虚拟机上启动redis服务,使用本地电脑客户端无法连接到redis。
按照以上步骤操作,应该能解决CentOS虚拟机上的Redis连接问题。记下IP地址(通常是192.168.x.x或10.0.x.x)。echo "=== CentOS Redis连接诊断 ==="echo -e "\n6. 测试本地Redis连接:"echo -e "\n3. SELinux状态:"echo -e "\n5. 虚拟机IP地址:"echo -e "\n2. 防火墙状态:"echo "1. Redis服务状态:"echo -e "\n4. 网络监听:"# 如果防火墙运行,开放Redis端口。
2025-11-30 21:58:24
1036
原创 redis常用指令以及用法
这些是Redis最常用的核心指令,涵盖了80%以上的日常使用场景。ZREVRANGE key start stop [WITHSCORES] # 按索引降序。TYPE key # 返回key存储的数据类型。ZRANK key member # 获取元素排名(升序)ZREVRANK key member # 获取元素排名(降序)EXISTS key # 检查key是否存在。
2025-11-28 10:39:59
713
原创 Maven的POM文件相关标签作用
特性作用直接引入依赖管理依赖版本是否下载立即下载不下载,仅声明使用场景单个模块多模块项目的父POM版本管理每个依赖需指定版本统一管理版本,子模块继承传递性有传递性依赖无传递性。
2025-11-28 09:35:57
859
原创 JAVA 常用注解用法讲解
在当前代码中,@RestControllerAdvice(annotations = RestController.class) 表示该类专门处理所有标记了 @RestController 注解的控制器中抛出的异常。在当前代码中,@ExceptionHandler(ApiException.class) 表示该方法专门处理 ApiException 类型及其子类的异常。异常拦截: 当 @RestController 控制器抛出异常时,框架会查找匹配的异常处理器。
2025-11-25 15:28:49
510
原创 K8S之Node和Pod的关系(一)
你作为开发者或运维人员,主要打交道的是 Pod(以及管理 Pod 的更高层控制器,如 Deployment、StatefulSet),你通过配置文件告诉 Kubernetes “我想要运行什么样的应用(Pod)”。:通常需要这个参数,因为 DaemonSet 管理的 Pod(如网络插件、监控代理)是每个节点都必须运行的,无法被驱逐。节点(这是下一步)。这个命令会优雅地终止节点上的所有 Pod,并将它们安全地驱逐到其他可用的节点上重新运行。:维护完成后,解除节点的隔离状态,使其重新接受新的 Pod 调度。
2025-11-25 15:19:35
714
原创 SpingBoot自动装配流程讲解
启动应用:你运行了带有注解的主类。组件扫描(:Spring 扫描当前包及其子包,注册所有你自定义的@Component@Service等 Bean。触发自动配置(a.加载候选列表:通过加载中所有对应的配置类。b.条件过滤:遍历所有候选配置类,根据类路径下的 JAR 依赖()、已有的 Bean()、配置文件中的属性()等一系列条件进行筛选。c.生效与装配:通过筛选的配置类正式生效,它们内部定义的 Bean(如DataSource等)被创建并注入 Spring 容器。完成。
2025-11-24 12:12:37
1171
原创 Docker常用指令
它会删除所有已停止的容器、未被任何容器使用的网络、悬空的镜像(未被任何标签引用的中间层镜像)以及构建缓存。所有运行中容器的资源使用情况,包括 CPU、内存、网络 I/O 和磁盘 I/O,对排查性能问题非常有帮助。:用于查看 Docker 整体占用的磁盘空间,详细列出镜像、容器、数据卷各自的空间使用情况。可以确保容器在退出时自动重启,非常适合生产环境中的服务。它在运行中的容器内启动一个新的 shell 进程,使用。,实现容器与主机之间或容器之间的数据持久化和共享。,将容器的端口暴露给主机。
2025-11-06 10:31:59
403
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅