- 博客(287)
- 资源 (82)
- 收藏
- 关注
原创 应用性能监测(APM)之 (八)Redis热key和大key
大Key与热Key是Redis典型性能瓶颈。大Key指单个value过大或集合元素过多,易引发慢查询、阻塞、网络拥塞;热Key则是高频访问导致实例负载过高、缓存击穿。排查可通过redis-cli --bigkeys、MEMORY USAGE、慢日志及监控平台(如Prometheus)定位。治理上,大Key需拆分存储、按需加载、渐进删除、冷热分离;热Key则通过本地缓存、读写分离、限流降级、集群隔离等手段缓解。两者叠加时危害倍增,应结合业务场景综合施策。
2026-10-27 12:00:23
182
原创 IM网关系列(九)单账号流量统计:滑动窗口桶方案设计与Go实现
本文设计并实现了一种基于滑动窗口桶的IM网关单账号流量统计方案,采用环形队列结构,支持1秒至60秒灵活分片,兼顾轻量、低内存与分钟粒度统计。通过触发式更新与惰性清理机制,避免定时器爆炸与无效开销,结合配置中心动态调整限流阈值(如真人用户60条/分钟、群组200条/分钟等),有效防御刷屏与消息风暴,适用于高并发长连接场景。
2026-10-23 13:28:59
241
原创 IM系统后端 之(八) 配置信息灰度切换&后台服务热更新
本文实现基于etcd的灰度配置热更新机制:服务实例通过租约注册至etcd,定时续租(15s)并上报分组信息;后台监听分组策略变更,动态更新限流、去重等配置。采用原子指针保证读写安全,支持canary/stable分组灵活切换,实现无重启灰度发布。路径约定清晰,代码可直接落地,适用于网关类服务。
2026-10-22 16:02:55
57
原创 应用性能监测(APM)之 (七)无锁计数原理、bvar与对比xsync&vm metrics使用(限流、降级、熔断、metrics导出)
无锁计数通过分片+线程局部存储(TLS)避免缓存行争抢,实现高并发下低开销的埋点统计。brpc bvar库基于此原理,提供Adder、Gauge、LatencyRecorder、Status等指标类型,支持无锁写入与聚合读取,天然适配监控场景。其Window组件可实现滑动窗口统计,直接用于限流、熔断与QPS监控,配合/vars接口高效导出指标,是高性能服务可观测性的核心工具。
2026-10-22 10:47:03
225
原创 AI应用入门(八)AI安全检测工具总结
本文梳理了主流LLM安全与测试工具,涵盖漏洞扫描(garak)、评估框架(Promptfoo)、红队测试(PyRIT、DeepTeam)、越狱基准(JailbreakBench)、Agent安全(AgentDojo)及提示注入防护(LLM Guard、Rebuff)等方向。推荐结合garak与Promptfoo测试Ollama本地模型,兼顾安全扫描与性能评估。部分工具支持本地运行与CI集成,适用于开发全流程安全验证。
2026-10-15 19:30:12
252
原创 AI应用入门(七)用 promptfoo 测试评估 Ollama 本地模型
本文介绍如何使用 promptfoo 评估本地 Ollama 模型,对比其与 garak 的定位差异:promptfoo 作为测试框架,支持多模型并排对比、自定义断言、CI/CD 集成,且全程本地运行保障数据安全。通过配置 promptfooconfig.yaml,可快速实现 prompt 调优、模型对比与回归测试。建议与 garak 配合使用,前者用于日常评估,后者专注安全红队,构建完整 LLM 工程化流程。
2026-10-15 19:27:39
210
原创 AI应用入门(六)使用英伟达garak执行漏洞检测
garak 是 NVIDIA 推出的 LLM 漏洞扫描工具,类比网络安全中的 nmap,用于检测模型是否易受越狱、数据泄露、有害内容生成等攻击。本文演示如何通过 REST 接口对接本地 Ollama 运行的 qwen2.5:7b,配置 YAML 文件并运行 dan.Dan_11_0 探针测试。结果显示攻击成功率 100%,但需注意样本量小、检测器可能存在误报,建议结合人工审查判断模型安全性。
2026-10-15 19:06:12
314
原创 AI应用入门(四)MCP 处的防护:技术原理与开源工具
server.tool() # ← 定义能力的位置return f"server = Server("my-server") @server . tool() # ← 定义能力的位置 def get_weather(city : str) - > str : return f" {city } 晴" # SDK 负责:注册工具、生成 tools/list 响应、解析 tools/call、回写 JSON-RPC。
2026-10-14 19:03:04
279
原创 AI应用入门(三)多模型路由与护栏问题
本文系统阐述了AI多模型路由(Model Routing)的核心架构与实现路径,强调大厂产品通过网关层进行意图识别与任务分流,提升效率与成本控制。路由依据输入模态、任务类型、复杂度与成本敏感度分层决策,后端对接专用模型矩阵。结合LiteLLM等开源工具,可实现声明式路由与护栏配置,支持规则、小模型、大模型混合防护策略。针对医学Agent场景,推荐以BastionPromptProtection为输入护栏首道防线,搭配Presidio脱敏与LlamaGuard3输出审核,兼顾精度、延迟与数据安全,构建高效、可
2026-10-13 19:24:42
318
原创 AI应用入门(二) 理解MCP
MCP(Model Context Protocol)是Anthropic提出的AI工具标准化协议,被誉为AI世界的“USB-C接口”,解决模型与外部工具集成复杂、重复开发的问题。其客户端-服务器架构实现M个模型对接N个工具仅需M+N套代码。当前由Linux基金会下的AAIF中立治理,生态繁荣,官方提供多语言SDK与可复用Server。FastMCP作为主流Python框架,简化工具封装与调用。工具调用决策可由纯代码控制或通过LangChain等框架动态生成。尽管极大提升效率,但其开放性也带来安全风险,如工
2026-10-13 15:21:07
241
原创 AI应用入门(一)用Qdrant和ollama做一个简单的医学问答软件RAG
本文介绍基于本地部署的中文医疗RAG系统构建流程:选用MedicalQA高质量数据集,通过Ollama加载大模型,利用BGE向量模型与Qdrant向量数据库实现语义检索,结合关键词与向量双重策略提升召回准确率。重点对比了不同重排模型,推荐使用轻量高效的BGE-Reranker,其跨模态匹配能力强、兼容性好,适用于8GB显存环境。整体流程遵循“检索-增强-生成”标准骨架,兼顾效率与准确性,为本地化医疗问答系统提供可复用的技术方案。
2026-10-12 18:38:31
198
原创 应用性能监测(APM)之 (六)对比Prometheus、Uptrace、SigNoz、Mimir
基于C++ OpenTelemetry SDK采集指标并上报,针对自托管、多租户场景,对比Prometheus、Mimir、Uptrace、SigNoz四类后端方案。推荐采用“C++ SDK → OTLP → otelcol-contrib(预处理)→ 后端”架构,实现标签过滤、采样与鉴权前置。
2026-10-07 11:24:34
370
原创 应用性能监测(APM)之 (五)Prometheus与OpenMetrics协议
OpenMetrics 1.0 是基于 Prometheus 文本格式演进的云原生指标传输协议,旨在统一指标暴露标准。它支持 Counter、Gauge、NativeHistogram 等七类指标,引入 #UNIT、Exemplar、#EOF 等增强特性,提升元数据与追踪能力。
2026-10-05 16:40:51
346
原创 分布式KV存储 之(四)NeoKV的路由
NeoKV是兼容RedisCluster协议的分布式持久化KV存储,基于Multi-Raft与RocksDB,以连续slot区间为分片单元,支持自动分裂合并,由MetaServer统一调度。其核心优势在于:复用Redis哈希槽模型,通过Region动态切分实现自动扩容;路由依赖元数据服务,客户端无需感知Meta;分裂基于slot中点,零扫描开销,但对HashTag热点无解。适用于需强一致、持久化、自动分片的场景,不适用于极致低延迟内存缓存。
2026-10-05 10:56:03
369
原创 分布式KV存储 之(三)为啥要要RockDB而不是其他
RocksDB基于LSM-Tree设计,擅长写密集型场景,通过顺序追加、内存MemTable与后台Compaction实现高写入吞吐。其核心优势在于写放大可控、读放大由BloomFilter和BlockCache缓解。ColumnFamily实现逻辑隔离与原子WriteBatch(共享WAL),支持跨CF事务。NeoKV针对不同数据特征采用差异化配置:LevelCompaction(低读/空间放大)、FIFO(日志清理)、PrefixBloomFilter(高效过滤)、SSTIngestion(快照加速)及
2026-10-02 08:56:56
258
原创 应用性能监测(APM)之 (四)Prometheus与Metrics集群存储
本文系统梳理了时序数据库技术体系,重点对比Prometheus生态(Mimir、VictoriaMetrics、Thanos)与通用时序库(TDengine、GreptimeDB),解析其数据模型、存储架构与多租户实现机制。核心指出:无schema≠无数据模型,标签即主键,高基数标签易引发存储爆炸;对比MySQL索引,Prometheus labels为倒排索引,新增维度代价高昂。深入剖析Prometheus TSDB写入流程与短板,引出Thanos通过Sidecar+StoreGateway实现跨集群全局
2026-10-01 20:51:10
384
原创 应用性能监测(APM)之 (三)OpenTelemetry OTLP协议、编码详解
OpenTelemetry OTLP是统一的遥测数据传输协议,支持Traces、Metrics、Logs三类信号,采用Protobuf二进制(生产首选)或CanonicalJSON(仅调试)编码,通过OTLP/gRPC(4317端口)或OTLP/HTTP(4318端口)传输。
2026-10-01 12:37:18
358
原创 Luvit入门实践(一) Hello, Http Server
Luvit是基于LuaJIT与libuv的轻量级异步运行时,具备启动快、内存低的优势,适合嵌入式及高性能网络服务。其核心功能包括HTTP服务器、协程异步编程、子进程调用等,支持通过coro-spawn简化异步代码。虽社区规模小,但生态成熟,可通过FFI调用DLL扩展功能。在Windows上可借助PowerShell脚本或预编译包快速安装,适用于系统监控、爬虫等场景。
2026-09-30 11:50:54
168
原创 分布式协议之二 推荐一个raft协议的KV存储
NeoKV 是一个基于 **Braft(Multi-Raft)+ RocksDB** 的分布式强一致 KV 存储,对外提供 **Redis 兼容协议(RESP)**。你可以直接用 `redis-cli` 或任何 Redis SDK 连接它,执行 SET、GET、HSET、ZADD 这些你熟悉的命令——底层的 Raft 共识和 RocksDB 持久化对客户端完全透明。这是一个面向**教学**的项目。我们的目标不是做一个生产级的 Redis 替代品,而是通过实际的工程实践来回答两个核心问题:**如何用 Mu
2026-09-27 22:37:31
387
原创 分布式协议(一)RAFT协议
**Raft** 来自斯坦福 RamCloud 项目,最大的卖点是**容易理解、容易实现**。它简化了协议的状态和交互,被 etcd 等大量项目采用。
2026-09-26 23:14:38
402
原创 Link‑16战术数据链介绍(物理层、链路层、J系列消息协议+指挥应用实例)
Link‑16是北约/美军广泛使用的**无中心、保密抗干扰战术数据链**,标准为STANAG 5516 / MIL‑STD‑6016,终端称为JTIDS/MIDS。它不是传统IP网络,是面向联合作战的广播式TDMA战术分发网络,把预警机、战机、舰艇、地面指挥站、防空雷达全部接入同一战场态势网络,交换目标航迹、指挥指令、友军位置、电子战信息、加密语音,实现**统一战场态势图**,降低误判、减少误伤。
2026-09-24 11:30:47
273
原创 量化离线回测引擎完整技术架构与核心原理详解
量化离线回测引擎是一套融合**业务仿真、操作系统内核、内存架构、高性能并发、可观测监控**的复杂底层系统。 其核心逻辑区别于传统业务系统:**不以功能实现为核心,以绝对可复现性、高吞吐、低抖动、低碎片为核心目标**。从上层策略加载、集群任务调度,到中层行情零拷贝加载、双层内存池架构,再到底层巨页优化、CPU绑核、全维度监控体系,每一项技术选型都是为了解决回测行业的核心痛点——**消除一切不确定抖动,保证策略评估真实、可信、可迭代**。
2026-09-18 10:37:07
371
原创 蒙特卡洛搜索树(MCTS)与棋类游戏(一)简化五子棋
MCTS 的核心思想是:**让计算机在脑子里反复推演很多遍“如果这样走会怎样”,最后选一条推演结果最好的路。**它每推演一遍,就做四件事:**选择 → 扩展 → 推演 → 回溯**。重复很多遍后,从根节点的所有走法中,选被推演次数最多的那个作为最终决策。
2026-09-16 21:50:00
107
原创 亿级用户IM系统 之 DPVS Maglev动态权重(七、DPVS Maglev 动态负载调度)
前文论述了WRR 动态加权轮询算法,适合后端网关较少的情况。它有个天生的缺点就是某个IP每次可能落到不同的网关节点上。针对IM的业务需求,最好是用户每次连接都在同一个网关,使用的多终端登录也在同一个节点,这样下行数据扇出动作会比较省力。参考:https://blog.youkuaiyun.com/robinfoxnan/article/details/164269484?spm=1011.2124.3001.6209所以我们自然会想到使用IP哈希方式映射,但是IP映射方式天然会出现负载不均衡的情况。这里围绕IM长连
2026-09-09 11:55:51
323
原创 C++ lambda 捕获完整梳理
引用捕获[&],lambda生命周期超过外部变量 →悬空引用,崩溃,异步回调非常容易踩。[=]值捕获:捕获指针,只是拷贝指针,不是拷贝指针指向内存。delete p;f();// 悬空!拷贝的只是指针p,不是堆上数据unique_ptr不能拷贝,C++11无法直接捕获;C++14用移动捕获。[this]捕获的是原始对象指针,如果对象销毁,lambda执行就悬空。C++17优先[*this]拷贝对象。闭包:函数 + 捕获的外部环境变量。
2026-09-07 23:15:06
242
原创 应用性能监测(APM)之 Prometheus 入门(二)
摘要:记录了windows11下安装prometheus,windows exporter,grafana ;新建仪表盘,绑定变量,新建面板
2026-09-07 15:56:35
249
原创 亿级IM构架之六:多数据中心(IDC)数据保存策略讨论
在亿级用户即时通讯(IM)系统架构中,单数据中心部署早已无法满足海量并发、低延迟访问、异地容灾及区域网络稳定性需求。微信、钉钉等头部IM产品均采用多地域IDC分布式部署架构,通过地域化流量调度与数据属地存储,解决跨地域访问延迟高、单机房故障雪崩、数据同步混乱等核心痛点。
2026-09-05 16:11:39
310
原创 亿级IM构架之五 IM网关后侧结构分析
网关后端架构的核心思想:网关只做长连接接入,把消息生产、业务处理向外剥离,做到接入层可以独立大规模扩容,故障不会相互传导。方案3通过独立接收服务收敛MQ生产者,在网关实例数量庞大的场景下,运维与稳定性收益最为突出。
2026-09-05 12:13:28
389
原创 亿级IM构架之四 IM网关接入层技术选型对比
网关的核心职责:处理长连接握手、鉴权、心跳、连接生命周期管理、帧编解码、上行消息转发receiver处理、下行消息分发推送。选型要权衡**性能、开发效率、故障排查难度、浏览器兼容性、运维成本**。**1)UDP库 vs WebSocket vs Tcp自研**;**2)多WebSocket库对比,单机目标10‑20万连接**
2026-09-05 11:49:07
434
原创 ketix基础调用入门演示1(gateway和worker相互流转)
这个示例完整演示了:Gateway 接收用户输入Gateway 调用 Worker 的 RPCWorker 处理并主动回调 Gateway 的 RPCGateway 收到回调并打印
2026-09-04 14:36:27
247
原创 亿级IM 之 消息负载均衡(三、基于Kafka的大规模IM网关、Worker与审核集群架构设计与实践)
摘要:即时通讯(IM)系统具备高并发、高吞吐、低延迟、强合规的核心特性,海量消息的收发、业务处理与合规审核极易出现链路阻塞、数据不一致、热点过载等问题。传统串行审核、单链路消息处理模式,无法支撑十万乃至百万级并发长连接场景。
2026-09-03 14:19:49
546
原创 应用性能监测(APM)之 前世今生(一)
APM是云原生与微服务下核心可观测设施,以Metrics(宏观趋势)与Trace(微观链路)为两大数据体系,二者互补且需分库存储。现代架构通过探针、Collector、后端存储与UI分层解耦,主流选型为SkyWalking一体化架构与OTel+Mimir+Tempo的LGTM标准架构,技术趋势是标准化采集与组件解耦。
2026-09-02 10:48:42
796
原创 亿级用户IM系统 之 DPVS动态权重(二、根据后端真实情况负载均衡)
提炼核心要点:亿级IM负载均衡优化,通过DPVS动态调度、共享内存通信、内核资源隔离等手段,实现数据面与控制面分离,解决静态权重不均问题。
2026-09-01 22:43:30
602
3
原创 亿级用户IM系统 之 接入网关负载均衡架构(一、网络结构与DPVS部署)
本文讨论了亿级用户的IM系统在网络结构上设计以及入口4层负载均衡DPVS使用模式的相关内容。
2026-09-01 21:52:01
408
原创 编译brpc和braft,运行couter分布式计数器
<think>我们根据用户给出的内容生成≤150字的摘要。内容是关于编译brpc/braft以及示例代码。要求摘要简洁。需覆盖核心:编译protobuf、brpc、braft,以及基于braft的分布式计数器示例。字数限制严格。我们写摘要。</think>摘要:本文介绍bRPC 1.16 + braft编译流程(基于protobuf 3.20),强调protoc与libprotobuf版本一致,提供CMake编译示例。随后给出基于braft的分布式计数器完整代码(proto、serv
2026-08-31 14:25:51
314
原创 ubuntu22下编译phxpaxos静态库
本文详细记录了在Ubuntu 22.04系统上编译安装phxpaxos分布式一致性协议库的过程。主要内容包括:1)安装基础依赖包;2)下载源码及子模块;3)解决glog 0.3.3版本兼容性问题(通过修改编译参数强制使用C++11标准);4)处理protobuf 3.0.2的编译问题;5)完成主库和插件编译;6)测试phxecho示例程序时添加缺失的依赖项(-lsnappy -lunwind);7)最终实现三节点测试集群运行。文档提供了具体命令和关键问题的解决方案,特别是针对C++17兼容性和依赖库链接问题
2026-08-19 12:17:38
201
原创 MFC对话框中集成CEF组件 (chromium-146.0.7680.179)
本文介绍了在MFC对话框应用中集成CEF(Chromium Embedded Framework)的详细步骤。主要内容包括:1) CEF编译环境的搭建,使用Visual Studio 2022编译示例程序;2) 对话框测试程序的实现,重点说明了CEF初始化流程、浏览器控件的嵌入方式以及消息循环处理;3) 测试网页的设计,展示JS与C++的双向交互功能;4) 最终实现效果和现存问题,包括网页显示、数据传递功能完备,但存在调试窗口不可用等问题。文章提供了完整的代码示例和解决方案,对CEF与MFC的集成开发具有参
2026-04-17 14:56:20
501
原创 推荐一个开源的IM软件BirdTalk
这是一款开源的安卓即时通信软件,包含客户端和服务端代码。客户端采用BirdTalkSDK实现基础通信功能,支持私聊/群聊、多种消息类型和好友管理。服务端采用多数据库存储,支持多终端登录。软件提供匿名/邮箱注册、好友搜索、消息状态显示等功能,群聊支持基础管理操作。后续计划完善群功能和服务端集群扩展。开发者需在WebSocketClient.kt中配置服务器地址后,使用Android Studio 2024编译APK。项目代码已开源在GitHub。
2026-04-14 14:54:23
513
QWhale Syntax Editor
2012-09-15
Mongo图形客户端
2012-11-09
Libevent Reference Manual 2.0
2014-02-21
jQuery-File-Upload9.7
2014-08-16
SCPS_Project-master.zip
2021-01-08
GDAL-3.1.3x64.zip
2020-12-11
net.sf.json.JSONObject需要引用几个JAR包
2020-05-15
io.oversec.one_1005015.apk
2020-04-27
TestHTTPGetAndroid27.rar
2020-05-17
File2QRcode.rar
2019-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅