<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>veridih</title>
  
  <subtitle>veridih</subtitle>
  <link href="https://veridih.com/atom.xml" rel="self"/>
  
  <link href="https://veridih.com/"/>
  <updated>2026-03-20T14:16:18.975Z</updated>
  <id>https://veridih.com/</id>
  
  <author>
    <name>veridih</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>构建事件驱动的实时机器学习特征服务 HBase索引设计与实践</title>
    <link href="https://veridih.com/7674240930/"/>
    <id>https://veridih.com/7674240930/</id>
    <published>2023-10-27T11:30:55.000Z</published>
    <updated>2026-03-20T14:16:18.975Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;h3 id=&quot;一、问题的定义：毫秒级延迟下的实时特征挑战&quot;&gt;&lt;a href=&quot;#一、问题的定义：毫秒级延迟下的实时特征挑战&quot; class=&quot;headerlink&quot;</summary>
        
      
    
    
    
    <category term="分布式架构" scheme="https://veridih.com/categories/%E5%88%86%E5%B8%83%E5%BC%8F%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="Scikit-learn" scheme="https://veridih.com/tags/Scikit-learn/"/>
    
    <category term="HBase" scheme="https://veridih.com/tags/HBase/"/>
    
    <category term="事件驱动架构 (EDA)" scheme="https://veridih.com/tags/%E4%BA%8B%E4%BB%B6%E9%A9%B1%E5%8A%A8%E6%9E%B6%E6%9E%84-EDA/"/>
    
    <category term="索引优化" scheme="https://veridih.com/tags/%E7%B4%A2%E5%BC%95%E4%BC%98%E5%8C%96/"/>
    
    <category term="Vue.js" scheme="https://veridih.com/tags/Vue-js/"/>
    
    <category term="MLOps" scheme="https://veridih.com/tags/MLOps/"/>
    
  </entry>
  
  <entry>
    <title>构建基于Haskell核心的跨平台移动端安全推理引擎并集成MLflow管理</title>
    <link href="https://veridih.com/1304510739/"/>
    <id>https://veridih.com/1304510739/</id>
    <published>2023-10-27T11:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.971Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;在需要处理高度敏感数据（例如个人健康指标）的移动应用中，纯粹的端侧模型推理是保障用户隐私的首选。但一个更深层次的架构问题随之而来：如何保证推理过程本身是安全、可信且抗篡改的？即便模型和数据从未离开设备，在一个可能被root的设备上，推理引擎的内存空间、执行逻辑依然面临着被调</summary>
        
      
    
    
    
    <category term="MLOps" scheme="https://veridih.com/categories/MLOps/"/>
    
    
    <category term="Scikit-learn" scheme="https://veridih.com/tags/Scikit-learn/"/>
    
    <category term="Mobile Development" scheme="https://veridih.com/tags/Mobile-Development/"/>
    
    <category term="Haskell" scheme="https://veridih.com/tags/Haskell/"/>
    
    <category term="MLflow" scheme="https://veridih.com/tags/MLflow/"/>
    
    <category term="FFI" scheme="https://veridih.com/tags/FFI/"/>
    
  </entry>
  
  <entry>
    <title>构建基于Serverless与Dgraph的响应式多租户权限系统及MobX前端实践</title>
    <link href="https://veridih.com/2372197947/"/>
    <id>https://veridih.com/2372197947/</id>
    <published>2023-10-27T11:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.971Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;在任何一个SaaS产品中，多租户权限系统的设计都是绕不开的核心难题。传统的做法通常是在关系型数据库中使用大量的中间表来维护用户、角色、租户、权限之间的关系。这种模型在业务初期尚可应付，但随着权限维度的增加——例如引入项目组、资源标签等概念——查询会变得异常复杂且性能低下。一</summary>
        
      
    
    
    
    <category term="后端架构" scheme="https://veridih.com/categories/%E5%90%8E%E7%AB%AF%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="GraphQL" scheme="https://veridih.com/tags/GraphQL/"/>
    
    <category term="多租户" scheme="https://veridih.com/tags/%E5%A4%9A%E7%A7%9F%E6%88%B7/"/>
    
    <category term="Serverless" scheme="https://veridih.com/tags/Serverless/"/>
    
    <category term="Dgraph" scheme="https://veridih.com/tags/Dgraph/"/>
    
    <category term="MobX" scheme="https://veridih.com/tags/MobX/"/>
    
  </entry>
  
  <entry>
    <title>在 Azure 环境下基于 etcd Watch 机制构建 FastAPI 集群的分布式熔断器</title>
    <link href="https://veridih.com/6824043468/"/>
    <id>https://veridih.com/6824043468/</id>
    <published>2023-10-27T11:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.971Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;在 Azure 上部署由多个实例组成的 FastAPI</summary>
        
      
    
    
    
    <category term="分布式架构" scheme="https://veridih.com/categories/%E5%88%86%E5%B8%83%E5%BC%8F%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="FastAPI" scheme="https://veridih.com/tags/FastAPI/"/>
    
    <category term="Azure" scheme="https://veridih.com/tags/Azure/"/>
    
    <category term="etcd" scheme="https://veridih.com/tags/etcd/"/>
    
    <category term="分布式系统" scheme="https://veridih.com/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/"/>
    
    <category term="高可用" scheme="https://veridih.com/tags/%E9%AB%98%E5%8F%AF%E7%94%A8/"/>
    
  </entry>
  
  <entry>
    <title>实现 Iceberg 数据湖变更到 SwiftUI 客户端的亚秒级事件通知架构</title>
    <link href="https://veridih.com/8058097995/"/>
    <id>https://veridih.com/8058097995/</id>
    <published>2023-10-27T11:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.975Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们面临一个棘手的矛盾。业务分析团队依赖于一个存储着数十 PB 数据的 Apache Iceberg 数据湖。每隔几分钟，由 Ray 集群驱动的 ETL 作业就会向核心事实表中原子性地提交数 GB 的新数据。另一方面，运营团队需要一个能在 macOS 和 iPad</summary>
        
      
    
    
    
    <category term="数据工程" scheme="https://veridih.com/categories/%E6%95%B0%E6%8D%AE%E5%B7%A5%E7%A8%8B/"/>
    
    
    <category term="SwiftUI" scheme="https://veridih.com/tags/SwiftUI/"/>
    
    <category term="Ray" scheme="https://veridih.com/tags/Ray/"/>
    
    <category term="Apache Iceberg" scheme="https://veridih.com/tags/Apache-Iceberg/"/>
    
    <category term="Azure Service Bus" scheme="https://veridih.com/tags/Azure-Service-Bus/"/>
    
  </entry>
  
  <entry>
    <title>构建从 CockroachDB 到 Snowflake 的跨区域 CDC 数据管道架构</title>
    <link href="https://veridih.com/9624490915/"/>
    <id>https://veridih.com/9624490915/</id>
    <published>2023-10-27T11:15:30.000Z</published>
    <updated>2026-03-20T14:16:18.975Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;一个生产系统的核心挑战往往不在于功能的实现，而在于数据流动的可靠性与时效性。当业务要求对全球分布用户的实时交易进行分钟级分析时，系统架构的复杂度便会指数级上升。我们面临的正是这样一个场景：一个基于 Lit 构建的高性能前端应用，服务于全球用户，其交易数据存储在跨区域部署的</summary>
        
      
    
    
    
    <category term="数据工程" scheme="https://veridih.com/categories/%E6%95%B0%E6%8D%AE%E5%B7%A5%E7%A8%8B/"/>
    
    
    <category term="Snowflake" scheme="https://veridih.com/tags/Snowflake/"/>
    
    <category term="Lit" scheme="https://veridih.com/tags/Lit/"/>
    
    <category term="CockroachDB" scheme="https://veridih.com/tags/CockroachDB/"/>
    
    <category term="CDC" scheme="https://veridih.com/tags/CDC/"/>
    
    <category term="Kafka" scheme="https://veridih.com/tags/Kafka/"/>
    
  </entry>
  
  <entry>
    <title>通过Packer构建集成Caddy、GraphQL与XState的Next.js多租户应用不可变基础设施</title>
    <link href="https://veridih.com/1240211251/"/>
    <id>https://veridih.com/1240211251/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.971Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;每次为一个新租户上线独立环境都像是一场赌博。手动配置反向代理、部署代码、申请和设置SSL证书、修改环境变量…任何一步微小的疏忽，都可能导致服务不可用，而排查这种环境差异问题，往往会耗费整个团队数小时甚至数天的时间。在真实项目中，这种不确定性是不可接受的。我们需要的是一个原子</summary>
        
      
    
    
    
    <category term="DevOps" scheme="https://veridih.com/categories/DevOps/"/>
    
    
    <category term="Packer" scheme="https://veridih.com/tags/Packer/"/>
    
    <category term="Caddy" scheme="https://veridih.com/tags/Caddy/"/>
    
    <category term="Next.js" scheme="https://veridih.com/tags/Next-js/"/>
    
    <category term="GraphQL" scheme="https://veridih.com/tags/GraphQL/"/>
    
    <category term="XState" scheme="https://veridih.com/tags/XState/"/>
    
    <category term="多租户" scheme="https://veridih.com/tags/%E5%A4%9A%E7%A7%9F%E6%88%B7/"/>
    
    <category term="不可变基础设施" scheme="https://veridih.com/tags/%E4%B8%8D%E5%8F%AF%E5%8F%98%E5%9F%BA%E7%A1%80%E8%AE%BE%E6%96%BD/"/>
    
  </entry>
  
  <entry>
    <title>在 Phoenix Monorepo 中构建基于变更检测的高效 BDD 测试流水线</title>
    <link href="https://veridih.com/0171502919/"/>
    <id>https://veridih.com/0171502919/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.971Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;CI流水线的执行时间从25分钟降到了3分钟，仅仅因为我们改变了在Monorepo中运行测试的方式。问题源于一个看似合理的架构：一个包含三个独立Phoenix应用的Elixir Umbrella项目，共享着一些内部库。每次提交，无论改动多小，GitHub</summary>
        
      
    
    
    
    <category term="DevOps" scheme="https://veridih.com/categories/DevOps/"/>
    
    
    <category term="BDD" scheme="https://veridih.com/tags/BDD/"/>
    
    <category term="Monorepo" scheme="https://veridih.com/tags/Monorepo/"/>
    
    <category term="Phoenix" scheme="https://veridih.com/tags/Phoenix/"/>
    
    <category term="Elixir" scheme="https://veridih.com/tags/Elixir/"/>
    
    <category term="CI/CD" scheme="https://veridih.com/tags/CI-CD/"/>
    
  </entry>
  
  <entry>
    <title>为全球分布式 Hugging Face 推理服务实现基于 Paxos 的会话状态一致性</title>
    <link href="https://veridih.com/1344432953/"/>
    <id>https://veridih.com/1344432953/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.971Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们的技术挑战很明确：为一款面向全球用户的、基于 Hugging Face Transformer</summary>
        
      
    
    
    
    <category term="分布式系统" scheme="https://veridih.com/categories/%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/"/>
    
    
    <category term="Paxos 算法" scheme="https://veridih.com/tags/Paxos-%E7%AE%97%E6%B3%95/"/>
    
    <category term="Hugging Face Transformers" scheme="https://veridih.com/tags/Hugging-Face-Transformers/"/>
    
    <category term="Couchbase" scheme="https://veridih.com/tags/Couchbase/"/>
    
    <category term="Azure Functions" scheme="https://veridih.com/tags/Azure-Functions/"/>
    
    <category term="Pulumi" scheme="https://veridih.com/tags/Pulumi/"/>
    
    <category term="分布式一致性" scheme="https://veridih.com/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E4%B8%80%E8%87%B4%E6%80%A7/"/>
    
    <category term="IaC" scheme="https://veridih.com/tags/IaC/"/>
    
  </entry>
  
  <entry>
    <title>基于Crossplane构建跨区域UI主题分发系统的一致性架构权衡</title>
    <link href="https://veridih.com/1923685723/"/>
    <id>https://veridih.com/1923685723/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.971Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;在管理一个拥有多个子品牌、业务遍布全球的平台时，我们面临一个棘手的技术挑战：如何确保所有前端应用的UI主题（Design</summary>
        
      
    
    
    
    <category term="分布式系统" scheme="https://veridih.com/categories/%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/"/>
    
    
    <category term="分布式一致性" scheme="https://veridih.com/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E4%B8%80%E8%87%B4%E6%80%A7/"/>
    
    <category term="Emotion" scheme="https://veridih.com/tags/Emotion/"/>
    
    <category term="Crossplane" scheme="https://veridih.com/tags/Crossplane/"/>
    
    <category term="CAP Theorem" scheme="https://veridih.com/tags/CAP-Theorem/"/>
    
  </entry>
  
  <entry>
    <title>LangChain 企业级应用集成 SAML 身份认证与 Sentry 全链路可观测性实践</title>
    <link href="https://veridih.com/3106901325/"/>
    <id>https://veridih.com/3106901325/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.971Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们团队最近上线了一个基于 LangChain 的内部知识库问答机器人，底层使用 FastAPI 驱动。初版反响不错，但一个致命问题很快暴露出来：它是一个完全匿名的服务。所有请求看起来都一样，这在企业环境中引发了两个核心痛点：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;</summary>
        
      
    
    
    
    <category term="后端架构" scheme="https://veridih.com/categories/%E5%90%8E%E7%AB%AF%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="LangChain" scheme="https://veridih.com/tags/LangChain/"/>
    
    <category term="SAML" scheme="https://veridih.com/tags/SAML/"/>
    
    <category term="Sentry" scheme="https://veridih.com/tags/Sentry/"/>
    
    <category term="FastAPI" scheme="https://veridih.com/tags/FastAPI/"/>
    
    <category term="可观测性" scheme="https://veridih.com/tags/%E5%8F%AF%E8%A7%82%E6%B5%8B%E6%80%A7/"/>
    
  </entry>
  
  <entry>
    <title>为Knative无服务器AI工作负载构建基于eBPF的零侵入可观测性</title>
    <link href="https://veridih.com/4026106402/"/>
    <id>https://veridih.com/4026106402/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.971Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们团队维护着一个基于 Knative Serving 的 AI 推理服务。它的核心功能是接收一段文本，通过一个预训练模型将其转换为 NumPy 向量，然后在 Weaviate 向量数据库中执行相似性搜索。Knative 的按需缩容至零特性极大地节约了 GPU</summary>
        
      
    
    
    
    <category term="云原生" scheme="https://veridih.com/categories/%E4%BA%91%E5%8E%9F%E7%94%9F/"/>
    
    
    <category term="可观测性" scheme="https://veridih.com/tags/%E5%8F%AF%E8%A7%82%E6%B5%8B%E6%80%A7/"/>
    
    <category term="Knative" scheme="https://veridih.com/tags/Knative/"/>
    
    <category term="NumPy" scheme="https://veridih.com/tags/NumPy/"/>
    
    <category term="Weaviate" scheme="https://veridih.com/tags/Weaviate/"/>
    
  </entry>
  
  <entry>
    <title>在 Google Cloud Functions 中实现基于补偿的 Saga 模式协调 MyBatis 与 Snowflake 的分布式事务</title>
    <link href="https://veridih.com/5617522083/"/>
    <id>https://veridih.com/5617522083/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.971Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;一个看似简单的业务需求摆在了面前：用户完成某个关键操作后，系统需要同时在主业务库（PostgreSQL）中更新订单状态，并向数据仓库（Snowflake）中插入一条不可变的审计日志。这两个操作必须构成一个原子单元——要么都成功，要么都失败。&lt;/p&gt;
&lt;p&gt;第一反应是使用分布</summary>
        
      
    
    
    
    <category term="分布式系统" scheme="https://veridih.com/categories/%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/"/>
    
    
    <category term="Google Cloud Functions" scheme="https://veridih.com/tags/Google-Cloud-Functions/"/>
    
    <category term="分布式事务" scheme="https://veridih.com/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1/"/>
    
    <category term="Snowflake" scheme="https://veridih.com/tags/Snowflake/"/>
    
    <category term="MyBatis" scheme="https://veridih.com/tags/MyBatis/"/>
    
    <category term="Saga" scheme="https://veridih.com/tags/Saga/"/>
    
  </entry>
  
  <entry>
    <title>构建基于Packer与Lua的ArangoDB图谱推荐引擎实时事件注入层</title>
    <link href="https://veridih.com/6448027732/"/>
    <id>https://veridih.com/6448027732/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.971Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;项目的瓶颈不在于推荐算法本身，而在于数据的时效性。我们原有的协同过滤推荐系统依赖于每日的批处理任务，用户今天产生的行为，最快也要到次日凌晨才能体现在推荐结果中。在电商和内容消费领域，这种延迟是致命的。我们的目标很明确：将数据延迟从小时级压缩到秒级。这意味着我们需要一个全新的</summary>
        
      
    
    
    
    <category term="数据工程与存储" scheme="https://veridih.com/categories/%E6%95%B0%E6%8D%AE%E5%B7%A5%E7%A8%8B%E4%B8%8E%E5%AD%98%E5%82%A8/"/>
    
    
    <category term="Packer" scheme="https://veridih.com/tags/Packer/"/>
    
    <category term="ArangoDB" scheme="https://veridih.com/tags/ArangoDB/"/>
    
    <category term="Lua" scheme="https://veridih.com/tags/Lua/"/>
    
    <category term="推荐系统" scheme="https://veridih.com/tags/%E6%8E%A8%E8%8D%90%E7%B3%BB%E7%BB%9F/"/>
    
  </entry>
  
  <entry>
    <title>构建基于 GitOps 与 WebAuthn 硬件密钥的 WebAssembly 插件可信供应链</title>
    <link href="https://veridih.com/5982547478/"/>
    <id>https://veridih.com/5982547478/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.971Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;在处理高合规性金融风控规则的动态加载场景时，一个核心矛盾浮现出来：业务要求规则模块（以 WebAssembly</summary>
        
      
    
    
    
    <category term="云原生" scheme="https://veridih.com/categories/%E4%BA%91%E5%8E%9F%E7%94%9F/"/>
    
    
    <category term="DevSecOps" scheme="https://veridih.com/tags/DevSecOps/"/>
    
    <category term="WebAssembly" scheme="https://veridih.com/tags/WebAssembly/"/>
    
    <category term="Flux CD" scheme="https://veridih.com/tags/Flux-CD/"/>
    
    <category term="GitHub Actions" scheme="https://veridih.com/tags/GitHub-Actions/"/>
    
    <category term="WebAuthn" scheme="https://veridih.com/tags/WebAuthn/"/>
    
  </entry>
  
  <entry>
    <title>基于ScyllaDB与Clean Architecture构建CQRS系统：从Jib容器化后端到React Native客户端的实现</title>
    <link href="https://veridih.com/6475467777/"/>
    <id>https://veridih.com/6475467777/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.971Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;一个系统需要每分钟处理数百万次设备状态的写入请求，同时为数千个移动客户端提供亚秒级的仪表盘查询响应。在这样的需求下，传统的CRUD架构会不可避免地在主数据存储上引发写密集型操作与读密集型操作之间的竞争。这种竞争最终会演变成性能瓶颈，无论如何优化单一数据模型，都无法同时满足两</summary>
        
      
    
    
    
    <category term="后端架构" scheme="https://veridih.com/categories/%E5%90%8E%E7%AB%AF%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="Jib" scheme="https://veridih.com/tags/Jib/"/>
    
    <category term="React Native" scheme="https://veridih.com/tags/React-Native/"/>
    
    <category term="ScyllaDB" scheme="https://veridih.com/tags/ScyllaDB/"/>
    
    <category term="Clean Architecture" scheme="https://veridih.com/tags/Clean-Architecture/"/>
    
    <category term="CQRS" scheme="https://veridih.com/tags/CQRS/"/>
    
  </entry>
  
  <entry>
    <title>基于 NATS JetStream 与分布式锁实现 TensorFlow GPU 资源序列化推理</title>
    <link href="https://veridih.com/6876228073/"/>
    <id>https://veridih.com/6876228073/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.975Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;在处理一个大型 TensorFlow 模型时，我们遇到了一个棘手的资源竞争问题。该模型需要加载到 GPU 显存中执行推理，单次推理会占用接近 90% 的显存。在我们的架构中，API 请求通过 Tyk 网关路由到后端的推理服务。最初的设计是无状态、水平扩展的 Python</summary>
        
      
    
    
    
    <category term="分布式架构" scheme="https://veridih.com/categories/%E5%88%86%E5%B8%83%E5%BC%8F%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="NATS" scheme="https://veridih.com/tags/NATS/"/>
    
    <category term="TensorFlow" scheme="https://veridih.com/tags/TensorFlow/"/>
    
    <category term="分布式锁" scheme="https://veridih.com/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81/"/>
    
    <category term="Tyk" scheme="https://veridih.com/tags/Tyk/"/>
    
  </entry>
  
  <entry>
    <title>为 SwiftUI 应用构建基于 LevelDB 和 AEAD 加密的客户端安全存储引擎</title>
    <link href="https://veridih.com/7008965566/"/>
    <id>https://veridih.com/7008965566/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.975Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;在开发需要处理敏感用户数据（如 API 密钥、个人笔记、认证令牌）的 SwiftUI 应用时，一个棘手的技术痛点浮出水面：如何实现一个既高性能又具备强加密保障的本地键值存储方案。苹果生态系统提供了 &lt;code&gt;UserDefaults&lt;/code&gt;、文件系统和</summary>
        
      
    
    
    
    <category term="移动开发" scheme="https://veridih.com/categories/%E7%A7%BB%E5%8A%A8%E5%BC%80%E5%8F%91/"/>
    
    
    <category term="LevelDB" scheme="https://veridih.com/tags/LevelDB/"/>
    
    <category term="网络安全" scheme="https://veridih.com/tags/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/"/>
    
    <category term="SwiftUI" scheme="https://veridih.com/tags/SwiftUI/"/>
    
    <category term="CryptoKit" scheme="https://veridih.com/tags/CryptoKit/"/>
    
    <category term="Swift" scheme="https://veridih.com/tags/Swift/"/>
    
  </entry>
  
  <entry>
    <title>构建服务于低延迟AI的混合存储特征管道：Redis Streams, MongoDB与ClickHouse的架构权衡</title>
    <link href="https://veridih.com/7755013481/"/>
    <id>https://veridih.com/7755013481/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.975Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;问题的起点非常明确：我们需要为一套在线风控与推荐模型提供特征服务。业务需求对这套服务的延迟提出了极为苛刻的要求——P99响应必须在50毫秒以内。同时，模型需要两类截然不同的特征：一类是实时性极高的“在线特征”，例如用户在当前会话中的点击次数、过去5分钟内的浏览商品类别；另一</summary>
        
      
    
    
    
    <category term="数据工程与存储" scheme="https://veridih.com/categories/%E6%95%B0%E6%8D%AE%E5%B7%A5%E7%A8%8B%E4%B8%8E%E5%AD%98%E5%82%A8/"/>
    
    
    <category term="Redis Streams" scheme="https://veridih.com/tags/Redis-Streams/"/>
    
    <category term="MongoDB" scheme="https://veridih.com/tags/MongoDB/"/>
    
    <category term="ClickHouse" scheme="https://veridih.com/tags/ClickHouse/"/>
    
    <category term="API 设计" scheme="https://veridih.com/tags/API-%E8%AE%BE%E8%AE%A1/"/>
    
    <category term="框架与工具" scheme="https://veridih.com/tags/%E6%A1%86%E6%9E%B6%E4%B8%8E%E5%B7%A5%E5%85%B7/"/>
    
  </entry>
  
  <entry>
    <title>构建实时软件供应链漏洞情报平台的架构权衡与实现</title>
    <link href="https://veridih.com/6433658698/"/>
    <id>https://veridih.com/6433658698/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.971Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;在真实的企业环境中，软件供应链安全早已不是一个“锦上添花”的选项。当微服务数量从几十个膨胀到数千个，每个服务都依赖着成百上千的开源组件时，如何构建一个能够实时响应、大规模处理并深度分析依赖漏洞的平台，就成了一个严峻的架构挑战。问题不仅仅是运行一次依赖扫描，而是如何将扫描、分</summary>
        
      
    
    
    
    <category term="架构设计" scheme="https://veridih.com/categories/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/"/>
    
    
    <category term="Material-UI" scheme="https://veridih.com/tags/Material-UI/"/>
    
    <category term="WebSockets" scheme="https://veridih.com/tags/WebSockets/"/>
    
    <category term="依赖扫描" scheme="https://veridih.com/tags/%E4%BE%9D%E8%B5%96%E6%89%AB%E6%8F%8F/"/>
    
    <category term="Pulsar" scheme="https://veridih.com/tags/Pulsar/"/>
    
    <category term="Elasticsearch" scheme="https://veridih.com/tags/Elasticsearch/"/>
    
  </entry>
  
  <entry>
    <title>构建结合 DynamoDB 与 SQL 的混合特征存储并通过 BentoML 提供实时服务</title>
    <link href="https://veridih.com/8617409322/"/>
    <id>https://veridih.com/8617409322/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.975Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们的机器学习团队遇到了一个日益棘手的窘境：特征分裂。一部分特征是实时生成的，比如用户最后一次点击、当前会话时长，必须在10毫秒内可供模型调用；另一部分则是离线计算的批量特征，例如用户过去7天的平均购买金额、历史浏览品类分布，这些通过复杂的 SQL</summary>
        
      
    
    
    
    <category term="数据工程" scheme="https://veridih.com/categories/%E6%95%B0%E6%8D%AE%E5%B7%A5%E7%A8%8B/"/>
    
    
    <category term="MLOps" scheme="https://veridih.com/tags/MLOps/"/>
    
    <category term="Kanban" scheme="https://veridih.com/tags/Kanban/"/>
    
    <category term="DynamoDB" scheme="https://veridih.com/tags/DynamoDB/"/>
    
    <category term="SQL" scheme="https://veridih.com/tags/SQL/"/>
    
    <category term="BentoML" scheme="https://veridih.com/tags/BentoML/"/>
    
  </entry>
  
  <entry>
    <title>使用Podman构建一个面向Ray分布式任务的安全沙箱执行器</title>
    <link href="https://veridih.com/9561290805/"/>
    <id>https://veridih.com/9561290805/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.975Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们的共享Ray集群正迅速演变为一个安全盲区。最初，它是一个高效的计算平台，让数据科学家和算法工程师能够轻松地并行化他们的Python代码。但随着用户增多，我们面临一个棘手的问题：如何在不扼杀灵活性的前提下，安全地执行用户提交的任意代码？这些任务可能会无意间访问敏感数据，滥</summary>
        
      
    
    
    
    <category term="后端架构" scheme="https://veridih.com/categories/%E5%90%8E%E7%AB%AF%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="Ray" scheme="https://veridih.com/tags/Ray/"/>
    
    <category term="Security" scheme="https://veridih.com/tags/Security/"/>
    
    <category term="Podman" scheme="https://veridih.com/tags/Podman/"/>
    
    <category term="测试" scheme="https://veridih.com/tags/%E6%B5%8B%E8%AF%95/"/>
    
    <category term="编程语言" scheme="https://veridih.com/tags/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/"/>
    
  </entry>
  
  <entry>
    <title>在 Go Serverless 环境中通过 UDP 代理实现对 Memcached 的低延迟访问</title>
    <link href="https://veridih.com/9647696494/"/>
    <id>https://veridih.com/9647696494/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.975Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;在 Serverless 函数中直接与一个传统的、基于 TCP 长连接的服务（如 Memcached）交互，通常是一种反模式。让我们看一段在 AWS Lambda 中运行的 Go 代码，它尝试在每次调用时连接 Memcached。&lt;/p&gt;
&lt;pre</summary>
        
      
    
    
    
    <category term="后端架构" scheme="https://veridih.com/categories/%E5%90%8E%E7%AB%AF%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="Serverless" scheme="https://veridih.com/tags/Serverless/"/>
    
    <category term="Go" scheme="https://veridih.com/tags/Go/"/>
    
    <category term="Memcached" scheme="https://veridih.com/tags/Memcached/"/>
    
    <category term="性能优化" scheme="https://veridih.com/tags/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/"/>
    
    <category term="网络编程" scheme="https://veridih.com/tags/%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B/"/>
    
  </entry>
  
  <entry>
    <title>为 LlamaIndex RAG 应用构建从 Recoil 前端到 Koa 后端的全链路追踪</title>
    <link href="https://veridih.com/9676703252/"/>
    <id>https://veridih.com/9676703252/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.975Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;一个 RAG 查询的响应耗时 5 秒。瓶颈在哪？是向量检索太慢，上下文构建耗时过长，还是 LLM 生成首个 token 的延迟太高？如果 RAG</summary>
        
      
    
    
    
    <category term="可观测性" scheme="https://veridih.com/categories/%E5%8F%AF%E8%A7%82%E6%B5%8B%E6%80%A7/"/>
    
    
    <category term="LlamaIndex" scheme="https://veridih.com/tags/LlamaIndex/"/>
    
    <category term="Recoil" scheme="https://veridih.com/tags/Recoil/"/>
    
    <category term="Koa" scheme="https://veridih.com/tags/Koa/"/>
    
    <category term="OpenTelemetry" scheme="https://veridih.com/tags/OpenTelemetry/"/>
    
    <category term="RAG" scheme="https://veridih.com/tags/RAG/"/>
    
  </entry>
  
  <entry>
    <title>利用Chef、消息队列与MobX构建实时基础设施拓扑变更的可视化系统</title>
    <link href="https://veridih.com/9723158590/"/>
    <id>https://veridih.com/9723158590/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.975Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;静态的CMDB（配置管理数据库）数据总是在我们最需要它的时候失效。当一次Chef-client变更导致级联故障时，翻阅数小时前的运行日志或是查看一份可能早已过时的架构图，对于定位问题几乎毫无帮助。真正的痛点在于，基础设施是动态的，而我们的监控和认知工具却是静态的。我们需要的</summary>
        
      
    
    
    
    <category term="DevOps" scheme="https://veridih.com/categories/DevOps/"/>
    
    
    <category term="MobX" scheme="https://veridih.com/tags/MobX/"/>
    
    <category term="Chef" scheme="https://veridih.com/tags/Chef/"/>
    
    <category term="Message Queue" scheme="https://veridih.com/tags/Message-Queue/"/>
    
    <category term="RabbitMQ" scheme="https://veridih.com/tags/RabbitMQ/"/>
    
    <category term="Observability" scheme="https://veridih.com/tags/Observability/"/>
    
    <category term="WebSocket" scheme="https://veridih.com/tags/WebSocket/"/>
    
  </entry>
  
  <entry>
    <title>构建跨技术栈全链路可观测性：从Angular到Express再到JPA的TraceID传递与日志关联实战</title>
    <link href="https://veridih.com/9965068073/"/>
    <id>https://veridih.com/9965068073/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.975Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们面临的第一个警报，来自一个工业资产监控平台的终端用户报告：仪表盘上的“设备状态”组件数据刷新偶发性超时。这个操作看似简单，背后却横跨了三个完全异构的技术栈：用户交互的Angular前端、作为API网关和业务编排的Express.js中间层，以及负责核心数据读写的Java</summary>
        
      
    
    
    
    <category term="可观测性" scheme="https://veridih.com/categories/%E5%8F%AF%E8%A7%82%E6%B5%8B%E6%80%A7/"/>
    
    
    <category term="OpenTelemetry" scheme="https://veridih.com/tags/OpenTelemetry/"/>
    
    <category term="Express.js" scheme="https://veridih.com/tags/Express-js/"/>
    
    <category term="Angular" scheme="https://veridih.com/tags/Angular/"/>
    
    <category term="JPA" scheme="https://veridih.com/tags/JPA/"/>
    
    <category term="Hibernate" scheme="https://veridih.com/tags/Hibernate/"/>
    
    <category term="分布式追踪" scheme="https://veridih.com/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E8%BF%BD%E8%B8%AA/"/>
    
  </entry>
  
  <entry>
    <title>使用 Ruby 从零构建基于 mTLS 的 Paxos 一致性模块</title>
    <link href="https://veridih.com/8700914740/"/>
    <id>https://veridih.com/8700914740/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-03-20T14:16:18.975Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们面临一个棘手的部署场景：一组内部 Ruby 服务需要共享一个极小但要求强一致性的状态，例如一个动态的特性开关配置或一个服务的领导者信息。整个集群部署在零信任网络环境中，任何节点间的通信都必须被视为不安全。引入 etcd 或 ZooKeeper</summary>
        
      
    
    
    
    <category term="分布式系统" scheme="https://veridih.com/categories/%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/"/>
    
    
    <category term="Paxos 算法" scheme="https://veridih.com/tags/Paxos-%E7%AE%97%E6%B3%95/"/>
    
    <category term="分布式一致性" scheme="https://veridih.com/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E4%B8%80%E8%87%B4%E6%80%A7/"/>
    
    <category term="Ruby" scheme="https://veridih.com/tags/Ruby/"/>
    
    <category term="mTLS" scheme="https://veridih.com/tags/mTLS/"/>
    
  </entry>
  
  <entry>
    <title>构建 Flutter 应用与 HashiCorp Vault 集成的动态 AWS 凭证注入模式</title>
    <link href="https://veridih.com/3697980699/"/>
    <id>https://veridih.com/3697980699/</id>
    <published>2023-10-27T10:18:46.000Z</published>
    <updated>2026-03-20T14:16:18.971Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;项目需求很简单：Flutter 应用需要支持用户上传大型视频文件，出于性能和成本考虑，我们决定让客户端直接上传到云存储，目标选定 AWS S3。问题随之而来：如何安全地授予客户端访问 S3 的权限？&lt;/p&gt;
&lt;p&gt;在移动端硬编码 AWS 的长期访问密钥（Access</summary>
        
      
    
    
    
    <category term="安全架构" scheme="https://veridih.com/categories/%E5%AE%89%E5%85%A8%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="Flutter" scheme="https://veridih.com/tags/Flutter/"/>
    
    <category term="HashiCorp Vault" scheme="https://veridih.com/tags/HashiCorp-Vault/"/>
    
    <category term="AWS" scheme="https://veridih.com/tags/AWS/"/>
    
    <category term="DevSecOps" scheme="https://veridih.com/tags/DevSecOps/"/>
    
    <category term="云服务商" scheme="https://veridih.com/tags/%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%95%86/"/>
    
  </entry>
  
  <entry>
    <title>构建基于Serverless GraphQL的动态数据模拟层以驱动企业级Storybook组件开发</title>
    <link href="https://veridih.com/7170355081/"/>
    <id>https://veridih.com/7170355081/</id>
    <published>2023-10-27T10:15:57.000Z</published>
    <updated>2026-03-20T14:16:18.975Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;在一个大型前端项目中，维护一个庞大且一致的组件库是确保产品质量与开发效率的基石。Storybook</summary>
        
      
    
    
    
    <category term="前端架构" scheme="https://veridih.com/categories/%E5%89%8D%E7%AB%AF%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="GraphQL" scheme="https://veridih.com/tags/GraphQL/"/>
    
    <category term="Serverless" scheme="https://veridih.com/tags/Serverless/"/>
    
    <category term="Apollo Client" scheme="https://veridih.com/tags/Apollo-Client/"/>
    
    <category term="Storybook" scheme="https://veridih.com/tags/Storybook/"/>
    
    <category term="开发者体验" scheme="https://veridih.com/tags/%E5%BC%80%E5%8F%91%E8%80%85%E4%BD%93%E9%AA%8C/"/>
    
  </entry>
  
  <entry>
    <title>应用绞杀者模式将 Ruby on Rails 单体应用搜索功能迁移至 OpenSearch 与 Consul 微服务架构</title>
    <link href="https://veridih.com/3163714847/"/>
    <id>https://veridih.com/3163714847/</id>
    <published>2023-10-27T10:00:00.000Z</published>
    <updated>2026-03-20T14:16:18.971Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们的项目始于一个典型的 Ruby on Rails 单体应用。其中，产品搜索功能最初的实现非常直接，依赖于 ActiveRecord 和 PostgreSQL 的 &lt;code&gt;LIKE&lt;/code&gt; 查询以及部分全文检索特性。代码大致如下：&lt;/p&gt;
&lt;pre</summary>
        
      
    
    
    
    <category term="架构设计" scheme="https://veridih.com/categories/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/"/>
    
    
    <category term="Consul" scheme="https://veridih.com/tags/Consul/"/>
    
    <category term="Sass/SCSS" scheme="https://veridih.com/tags/Sass-SCSS/"/>
    
    <category term="OpenSearch" scheme="https://veridih.com/tags/OpenSearch/"/>
    
    <category term="Ruby on Rails" scheme="https://veridih.com/tags/Ruby-on-Rails/"/>
    
    <category term="微服务" scheme="https://veridih.com/tags/%E5%BE%AE%E6%9C%8D%E5%8A%A1/"/>
    
    <category term="绞杀者模式" scheme="https://veridih.com/tags/%E7%BB%9E%E6%9D%80%E8%80%85%E6%A8%A1%E5%BC%8F/"/>
    
  </entry>
  
</feed>
