核心结论先行:这三者没有绝对的优劣。选型的核心不是比较"谁的性能分数高",而是判断你的数据规模会不会在可预见的未来压垮单机架构,以及你的团队是否愿意为分布式能力支付相应的运维代价。在 1 亿向量规模下,三者的 Recall …
面向缓存、会话、实时数据场景的技术选型笔记。核心结论先行:先用"内存数据结构"和"分布式事务底座"做第一刀切分,再在内存赛道内部按协议、持久化、模块依赖和运维模型做排除法。
跨平台开发大致有两条路线: 共享业务逻辑,UI 各写各的:以 Kotlin Multiplatform(KMP)为代表。网络、数据、状态管理和业务规则只实现一次,Android 使用 Compose,iOS 使用 SwiftUI, …
AI Coding Agent 已经能够编写代码、运行测试、修改配置,甚至调用另一个 Agent 做代码审查。但当 Agent 数量增加后,新的问题很快出现:哪个任务已经完成?哪个 Agent 正在等待授权?哪个终端已经卡住?如果合上笔记 …
Chromium 几乎是浏览器自动化的默认答案:兼容性最好、工具链最成熟,遇到复杂网页时也最省心。但它的代价同样明显——进程多、内存占用高、冷启动慢。对需要同时运行大量会话的 AI Agent、网页检索系统和爬虫来说,这些成本会被迅速放大。 …
当一个项目同时接入 OpenAI、Anthropic、Google、Mistral、DeepSeek 等模型提供商时,真正麻烦的往往不是调用某个模型,而是维护一堆不同的认证方式、请求格式、模型名称和错误处理逻辑。Bifrost 试图把这层 …
如果你是一个经常与终端打交道的人——无论是开发者、运维工程师,还是数据科学家——你一定感受过这样的痛点:文件管理全靠 cd 和 ls 来回切换、打开多个终端窗口后乱成一团、命令行提示符单调乏味缺乏信息、终端在处理大量输出时卡顿不堪……这些问 …
在云原生和 AI 训练场景里,对象存储几乎是基础设施的"水电煤"——从镜像分发、模型权重到训练数据集,都离不开一个兼容 S3 协议、又能扛住高吞吐的存储服务。MinIO 一直是这个领域的明星,但如果你想要一个用 Rust 重写、内存占用更 …
在前两篇 bazel-remote 系列文章里,我们对比了 S3 后端与一致性哈希两种横向扩展方案,也给出过"分层缓存(L1 + L2)是最佳实践"的结论。但那个结论停留在架构层面——具体怎么配?数据到底怎么流动?性能如何保障? 本文就把这 …
在上一篇《bazel-remote 多实例部署:两种横向扩展方案与性能对比》中,我们梳理了共享云存储与负载均衡+一致性哈希两种横向扩展思路。但留下了一个关键问题:当 S3 后端(这里用 RustFS)与 bazel-remote 部署在同一 …
从零开始部署 RustFS 高可用对象存储集群的全流程指南,涵盖架构设计、JBOD 磁盘配置、负载均衡、扩缩容操作及性能规划。 引言:为什么选择 RustFS? 在分布式对象存储领域,MinIO 曾是许多团队的首选,但其 AGPL 协议对 …
你有没有遇到过这种情况——凌晨 3 点,用户在群里反馈服务挂了,而你这边一个告警都没有?Prometheus 的 Alertmanager 安静如鸡,因为"没有流量就没有错误"。等客户把电话打到老板那里,你才知道负载均衡器早就挂了。
你有没有等过 git clone 一个大仓库?Chrome 的源码 30GB+,Linux 内核 4GB+,clone 一次可能要等十几分钟。对人类来说这只是一杯咖啡的时间,但对 AI Agent 沙箱、CI/CD 容器、预览环境来说,这 …
定位问题 我们在使用tensorflow+pycharm或者PyTorch写程序的时候, 有时候会在控制台终止掉正在运行的程序,但是有时候程序已经结束了,nvidia-smi也看到没有程序了,但是GPU的内存并没有释放,这是怎么回事呢?
使用dotcore通过docker部署一个基于微服务的demo应用 架构概述 这个参考应用程序在服务器和客户端是跨平台的,这要归功于.NET Core服务能够在Linux或Windows容器上运行,具体取决于您的Docker主机,以 …
简便安装方法 此文档来源于Jermine的个人blog : https://jermine.vdo.pub/linux/ubuntu-16.04-reinstall-cuda/ 推荐两种玩法: 注意 : 由于tensorflow的GPU版本 …
准备文件: 从这里下载windows的python3.7的tensorflow1.9安装包。 *注: 这个网站 的whl文件是非python官方的windows二进制扩展包。 执行安装命令 PS …
什么是 defer?如何理解 defer 关键字?Go 中使用 defer 的一些坑。 defer 意为延迟,在 golang 中用于延迟执行一个函数。它可以帮助我们处理容易忽略的问题,如资源释放、连接关闭等。但在实际使用过程中,有一些需要 …
Golang类似于C的静态语言,效率也接近于C,如果Golang也可以导出可供C调用的库,那可以和很多高级语言say goodbye了,goodbye似乎又有点武断,但至少说,Golang可以做很多事,而且效率优于很多高级语言,这样说应该没 …
Golang与C的关系非常密切,下面主要介绍在Golang中使用C。 Golang中嵌入C代码 1 package main 2 //#include <stdio.h> 3 //#include <stdlib.h> 4 /* 5 …
本文主要介绍go语言静态库的编译和使用方法,以windows平台为例,linux平台步骤一样,具体环境如下: >echo %GOPATH% E:\share\git\go_practice\ >echo %GOROOT% C:\Go\ …
尽管 Golang 推荐通过 channel 进行通信和同步,但在实际开发中 sync 包用得也非常的多。另外 sync 下还有一个 atomic 包,提供了一些底层的原子操作(这里不做介绍)。本篇文章主要介绍该包下的锁的一些概念及使用方 …
go在各个平台交叉编译的介绍 Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下。 Mac 下的交叉编译 Mac 下编译 Linux 和 Windows 64 …