如何用 Go 封装大模型推理服务
本文介绍了使用 Go 语言构建高性能大模型推理服务的方法。文章设计了分层系统架构,定义了支持流式与批量推理的核心接口。通过工作池模式优化并发控制,并引入 LRU 缓存提升性能。文中实现了完整的 HTTP 服务,集成了错误处理与指标监控。最后,文章提供了基于容器化的部署方案、GPU 加速及模型量化等优化建议,旨在构建高效、可扩展的 AI 推理服务。
分布式存储longhron卸载
以下是针对Longhorn卸载问题的简洁摘要:
在Rancher/K3s环境中卸载Longhorn时,若操作不当(如过早删除命名空间或手动修改资源),会导致命名空间`longhorn-system`卡在`Terminating`状态,无法彻底清理。主因包括**Finalizer机制未正确释放**(如`longhorn-manager`、CRD资源残留)和**资源泄漏**(如未清理的Volume/StatefulSet)。核心解决方案分三步:
1. **强制移除Finalizer**:通过脚本或命令清理命名空间及CRD的finalizers(如`kubectl patch`移除`/metadata/finalizers`)。
2. **清理残留资源**:删除Longhorn相关的CRD、Pod及命名空间(`kubectl delete --force`)。
3. **官方卸载流程**:使用Helm或kubectl卸载器(需确认`deleting-confirmation-flag`),按顺序删除组件及CRD。
**注意**:操作前备份数据,避免强制删除引发数据丢失;优先参考[官方卸载文档](https://longhorn.io/docs/1.6.1/deploy/uninstall/)确保安全。
【工具篇】手把手教你自定义protobuf 标签
本文探讨了protoc生成的pb.go文件中json标签的问题:omitempty导致零值(如0)字段在JSON转换时被忽略,且难以添加其他标签(如form)。提出两种解决方案:一是修改protoc-gen-go源码,通过调整生成方法注入自定义标签;二是使用第三方库protoc-go-inject-tag,在proto文件中添加@gotags注释(如`// @gotags: json:"community_id" form:"community_id"`),再运行工具注入标签。推荐第二种方案,因其侵入性小、操作便捷,无需修改源码即可高效解决标签定制需求。
K8S-云原生
未读
K8S 证书过期修复
K8S-云原生
未读
【k8s篇】搭建k8环境
环境部署 hostnamectl set-hostname k8s-master
hostnamectl set-hostname k8s-node1
hostnamectl set-hostname k8s-node2
# 将 SELinux 设置为 permissive 模式(相当于将其禁用
K8S-云原生
未读
Kafka 基本原理.md
Kafka是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、Storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写
k3s集群搭建与Rancher部署
本文详细介绍了K3S与Rancher的部署流程,主要包含以下步骤:
1. **环境准备**:通过自动化脚本初始化CentOS7系统,安装依赖包、配置内核参数、关闭防火墙及SELinux,并安装Docker运行时。
2. **K3S部署**:在Master节点安装K3S Server,配置服务节点端口范围;Agent节点通过Token加入集群。同时部署NFS存储并配置默认StorageClass。
3. **证书管理**:生成自签名SSL证书,创建Kubernetes TLS密文,确保Rancher通信安全。
4. **Rancher安装**:使用Helm添加Chart仓库,通过私有证书方式部署Rancher,并设置初始访问密码。
5. **私有仓库配置**:配置containerd支持私有镜像仓库,包括证书认证和镜像加速。
6. **问题解决**:针对cgroup驱动不一致等常见问题提供解决方案。
全文涵盖系统初始化、集群部署、安全配置及运维优化,适用于轻量级Kubernetes环境搭建。

