<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>zealotlab</title>
  
  <subtitle>zealotlab</subtitle>
  <link href="https://zealotlab.com/atom.xml" rel="self"/>
  
  <link href="https://zealotlab.com/"/>
  <updated>2026-01-18T03:15:15.375Z</updated>
  <id>https://zealotlab.com/</id>
  
  <author>
    <name>zealotlab</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>构建基于Crossplane和Rails控制平面的生成式AI声明式训练平台</title>
    <link href="https://zealotlab.com/9425954526/"/>
    <id>https://zealotlab.com/9425954526/</id>
    <published>2023-11-20T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.375Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们面临的根本挑战并非如何微调一个生成式AI模型，而是如何系统性地、可重复地、规模化地管理成百上千次模型微调实验的完整生命周期。每个实验都需要昂贵的、短暂的GPU资源、精确版本化的数据集，以及一个隔离的、干净的执行环境。当团队规模扩大，实验频率增加时，依赖手写脚本或拼凑的C</summary>
        
      
    
    
    
    <category term="MLOps" scheme="https://zealotlab.com/categories/MLOps/"/>
    
    
    <category term="生成式AI" scheme="https://zealotlab.com/tags/%E7%94%9F%E6%88%90%E5%BC%8FAI/"/>
    
    <category term="Data Lake" scheme="https://zealotlab.com/tags/Data-Lake/"/>
    
    <category term="Ruby on Rails" scheme="https://zealotlab.com/tags/Ruby-on-Rails/"/>
    
    <category term="GitHub Actions" scheme="https://zealotlab.com/tags/GitHub-Actions/"/>
    
    <category term="Crossplane" scheme="https://zealotlab.com/tags/Crossplane/"/>
    
  </entry>
  
  <entry>
    <title>为Turbopack构建与Scrum流程兼容的动态密钥注入系统</title>
    <link href="https://zealotlab.com/9099165526/"/>
    <id>https://zealotlab.com/9099165526/</id>
    <published>2023-11-15T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.374Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们团队的迭代节奏基于双周 Sprint 的 Scrum 框架。最近，为了解决前端项目日益增长的构建性能问题，我们引入了 Turbopack。其近乎瞬时的 HMR</summary>
        
      
    
    
    
    <category term="DevSecOps" scheme="https://zealotlab.com/categories/DevSecOps/"/>
    
    
    <category term="CI/CD" scheme="https://zealotlab.com/tags/CI-CD/"/>
    
    <category term="Node.js" scheme="https://zealotlab.com/tags/Node-js/"/>
    
    <category term="Turbopack" scheme="https://zealotlab.com/tags/Turbopack/"/>
    
    <category term="Scrum" scheme="https://zealotlab.com/tags/Scrum/"/>
    
    <category term="密钥管理" scheme="https://zealotlab.com/tags/%E5%AF%86%E9%92%A5%E7%AE%A1%E7%90%86/"/>
    
  </entry>
  
  <entry>
    <title>基于 Kotlin NATS 与 Serverless 实现的 CQRS 架构下的键值型读模型投影</title>
    <link href="https://zealotlab.com/4295850284/"/>
    <id>https://zealotlab.com/4295850284/</id>
    <published>2023-10-27T15:10:30.000Z</published>
    <updated>2026-01-18T03:15:15.372Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;最初面临的技术挑战是为一套高并发的秒杀活动设计库存扣减服务。传统的单体架构中，直接在事务里 &lt;code&gt;SELECT ... FOR UPDATE&lt;/code&gt;</summary>
        
      
    
    
    
    <category term="分布式架构" scheme="https://zealotlab.com/categories/%E5%88%86%E5%B8%83%E5%BC%8F%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="NATS" scheme="https://zealotlab.com/tags/NATS/"/>
    
    <category term="Kotlin" scheme="https://zealotlab.com/tags/Kotlin/"/>
    
    <category term="Serverless" scheme="https://zealotlab.com/tags/Serverless/"/>
    
    <category term="NoSQL" scheme="https://zealotlab.com/tags/NoSQL/"/>
    
    <category term="CQRS" scheme="https://zealotlab.com/tags/CQRS/"/>
    
    <category term="事件驱动" scheme="https://zealotlab.com/tags/%E4%BA%8B%E4%BB%B6%E9%A9%B1%E5%8A%A8/"/>
    
  </entry>
  
  <entry>
    <title>在Azure AKS上为Go-Gin与Gatsby构建多环境GitOps交付管道</title>
    <link href="https://zealotlab.com/8324410223/"/>
    <id>https://zealotlab.com/8324410223/</id>
    <published>2023-10-27T15:10:22.000Z</published>
    <updated>2026-01-18T03:15:15.374Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;管理一个由Go-Gin后端API和Gatsby静态站点前端组成的现代Web应用，在跨越开发、预发布和生产等多个环境时，其部署复杂性会呈指数级增长。传统的CI/CD流水线，即在CI服务器（如Jenkins或GitHub Actions）中执行&lt;code&gt;kubectl</summary>
        
      
    
    
    
    <category term="云原生" scheme="https://zealotlab.com/categories/%E4%BA%91%E5%8E%9F%E7%94%9F/"/>
    
    
    <category term="Go-Gin" scheme="https://zealotlab.com/tags/Go-Gin/"/>
    
    <category term="Gatsby" scheme="https://zealotlab.com/tags/Gatsby/"/>
    
    <category term="Azure AKS" scheme="https://zealotlab.com/tags/Azure-AKS/"/>
    
    <category term="框架与库" scheme="https://zealotlab.com/tags/%E6%A1%86%E6%9E%B6%E4%B8%8E%E5%BA%93/"/>
    
    <category term="GitOps" scheme="https://zealotlab.com/tags/GitOps/"/>
    
    <category term="Kustomize" scheme="https://zealotlab.com/tags/Kustomize/"/>
    
  </entry>
  
  <entry>
    <title>基于 AWS SQS 与 NestJS 构建移动端事件的高韧性异步批处理管道</title>
    <link href="https://zealotlab.com/0522244426/"/>
    <id>https://zealotlab.com/0522244426/</id>
    <published>2023-10-27T11:45:16.000Z</published>
    <updated>2026-01-18T03:15:15.371Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;移动端分析事件的洪峰差点冲垮了我们的主数据库。最初的设计非常直接：移动App采集用户行为，通过一个RESTful</summary>
        
      
    
    
    
    <category term="分布式架构" scheme="https://zealotlab.com/categories/%E5%88%86%E5%B8%83%E5%BC%8F%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="分布式与中间件" scheme="https://zealotlab.com/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E4%B8%8E%E4%B8%AD%E9%97%B4%E4%BB%B6/"/>
    
    <category term="NestJS" scheme="https://zealotlab.com/tags/NestJS/"/>
    
    <category term="AWS SQS" scheme="https://zealotlab.com/tags/AWS-SQS/"/>
    
    <category term="Ansible" scheme="https://zealotlab.com/tags/Ansible/"/>
    
    <category term="移动开发" scheme="https://zealotlab.com/tags/%E7%A7%BB%E5%8A%A8%E5%BC%80%E5%8F%91/"/>
    
  </entry>
  
  <entry>
    <title>基于Nacos动态注入与TimescaleDB构建异构微服务全链路压测数据管道</title>
    <link href="https://zealotlab.com/7180698566/"/>
    <id>https://zealotlab.com/7180698566/</id>
    <published>2023-10-27T11:15:20.000Z</published>
    <updated>2026-01-18T03:15:15.373Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;团队维护着一套复杂的异构微服务系统，核心业务链路横跨了Node.js和Ruby两大技术栈。随着业务量的增长，对系统进行常规的全链路压测变得至关重要，但现有的流程极度依赖手动配置和脚本触发，不仅效率低下，而且压测数据的收集、聚合与分析也相当原始，往往是在压测结束后通过捞取分散</summary>
        
      
    
    
    
    <category term="可观测性" scheme="https://zealotlab.com/categories/%E5%8F%AF%E8%A7%82%E6%B5%8B%E6%80%A7/"/>
    
    
    <category term="JavaScript" scheme="https://zealotlab.com/tags/JavaScript/"/>
    
    <category term="配置中心" scheme="https://zealotlab.com/tags/%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83/"/>
    
    <category term="TimescaleDB" scheme="https://zealotlab.com/tags/TimescaleDB/"/>
    
    <category term="CircleCI" scheme="https://zealotlab.com/tags/CircleCI/"/>
    
    <category term="Ruby" scheme="https://zealotlab.com/tags/Ruby/"/>
    
  </entry>
  
  <entry>
    <title>利用 OpenTelemetry 手动埋点实现 Shadcn UI 搜索组件到 SkyWalking 的全链路追踪</title>
    <link href="https://zealotlab.com/1789311957/"/>
    <id>https://zealotlab.com/1789311957/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.371Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;一个看似简单的搜索框，在生产环境中可能会成为性能黑洞。当用户反馈“搜索很慢”时，问题究竟出在哪里？是前端 debounce</summary>
        
      
    
    
    
    <category term="可观测性" scheme="https://zealotlab.com/categories/%E5%8F%AF%E8%A7%82%E6%B5%8B%E6%80%A7/"/>
    
    
    <category term="Shadcn UI" scheme="https://zealotlab.com/tags/Shadcn-UI/"/>
    
    <category term="SkyWalking" scheme="https://zealotlab.com/tags/SkyWalking/"/>
    
    <category term="搜索" scheme="https://zealotlab.com/tags/%E6%90%9C%E7%B4%A2/"/>
    
    <category term="OpenTelemetry" scheme="https://zealotlab.com/tags/OpenTelemetry/"/>
    
    <category term="全链路追踪" scheme="https://zealotlab.com/tags/%E5%85%A8%E9%93%BE%E8%B7%AF%E8%BF%BD%E8%B8%AA/"/>
    
  </entry>
  
  <entry>
    <title>使用 BDD 测试驱动多环境微服务的 Consul 配置与 GitHub Actions 部署流程</title>
    <link href="https://zealotlab.com/2681200225/"/>
    <id>https://zealotlab.com/2681200225/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.372Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;团队里发生过一次不大不小的事故。一个新上线的计费服务在预发环境（staging）测试得好好的，推到生产（production）后，却开始处理生产队列里的真实消息，并试图连接生产数据库。问题是，这次发布的目的仅仅是部署服务实例，并不应该激活任何业务逻辑。根因很快被定位：部署脚</summary>
        
      
    
    
    
    <category term="DevOps" scheme="https://zealotlab.com/categories/DevOps/"/>
    
    
    <category term="BDD" scheme="https://zealotlab.com/tags/BDD/"/>
    
    <category term="Consul" scheme="https://zealotlab.com/tags/Consul/"/>
    
    <category term="GitHub" scheme="https://zealotlab.com/tags/GitHub/"/>
    
    <category term="Go" scheme="https://zealotlab.com/tags/Go/"/>
    
    <category term="CI/CD" scheme="https://zealotlab.com/tags/CI-CD/"/>
    
  </entry>
  
  <entry>
    <title>基于 Go 与 Multi-Paxos 协议构建阿里云环境下的高可用分布式锁服务</title>
    <link href="https://zealotlab.com/2445627726/"/>
    <id>https://zealotlab.com/2445627726/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.371Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们团队的一个核心 Node.js 应用，部署在阿里云几台 ECS 上，最近在处理订单支付回调时频繁出现双重处理的问题。初步排查定位是并发写入导致的状态不一致。最直接的解决方案是引入分布式锁，但用 Redis 的 &lt;code&gt;SETNX&lt;/code&gt;</summary>
        
      
    
    
    
    <category term="分布式系统" scheme="https://zealotlab.com/categories/%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/"/>
    
    
    <category term="Go" scheme="https://zealotlab.com/tags/Go/"/>
    
    <category term="Alibaba Cloud" scheme="https://zealotlab.com/tags/Alibaba-Cloud/"/>
    
    <category term="Node.js" scheme="https://zealotlab.com/tags/Node-js/"/>
    
    <category term="Paxos 算法" scheme="https://zealotlab.com/tags/Paxos-%E7%AE%97%E6%B3%95/"/>
    
  </entry>
  
  <entry>
    <title>构建一个基于CockroachDB和gRPC-Go的地理分布式事件溯源投影系统</title>
    <link href="https://zealotlab.com/3310563576/"/>
    <id>https://zealotlab.com/3310563576/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.372Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;团队最初面临的问题是全球用户数据的读取一致性。我们为一款金融交易分析工具提供后端服务，用户遍布北美、欧洲和亚洲。传统的读写分离、主从复制架构在跨大西洋光缆的延迟面前显得力不从心。欧洲用户提交的交易，需要数十秒甚至数分钟才能在亚洲的只读副本上查询到，这在我们的业务场景中是不可</summary>
        
      
    
    
    
    <category term="分布式系统" scheme="https://zealotlab.com/categories/%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/"/>
    
    
    <category term="Swift" scheme="https://zealotlab.com/tags/Swift/"/>
    
    <category term="gRPC-Go" scheme="https://zealotlab.com/tags/gRPC-Go/"/>
    
    <category term="CockroachDB" scheme="https://zealotlab.com/tags/CockroachDB/"/>
    
    <category term="Domain-Driven Design (DDD)" scheme="https://zealotlab.com/tags/Domain-Driven-Design-DDD/"/>
    
    <category term="Prometheus" scheme="https://zealotlab.com/tags/Prometheus/"/>
    
  </entry>
  
  <entry>
    <title>实现从Qwik组件到MariaDB查询的端到端请求上下文追溯</title>
    <link href="https://zealotlab.com/4215418039/"/>
    <id>https://zealotlab.com/4215418039/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.372Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;一个模糊的用户反馈：“页面上的某个部分数据加载失败了”。没有截图，没有复现步骤。这是我们面对的日常。翻阅前端错误日志，我们看到了一个通用的网络错误。查看后端应用日志，同一时间点有成百上千条请求记录。检查MariaDB的慢查询日志，也无法直接关联到这次失败的用户操作。问题出在</summary>
        
      
    
    
    
    <category term="全栈开发" scheme="https://zealotlab.com/categories/%E5%85%A8%E6%A0%88%E5%BC%80%E5%8F%91/"/>
    
    
    <category term="Node.js" scheme="https://zealotlab.com/tags/Node-js/"/>
    
    <category term="Qwik" scheme="https://zealotlab.com/tags/Qwik/"/>
    
    <category term="MariaDB" scheme="https://zealotlab.com/tags/MariaDB/"/>
    
    <category term="Styled-components" scheme="https://zealotlab.com/tags/Styled-components/"/>
    
    <category term="可观测性" scheme="https://zealotlab.com/tags/%E5%8F%AF%E8%A7%82%E6%B5%8B%E6%80%A7/"/>
    
  </entry>
  
  <entry>
    <title>基于 Elixir Port 构建与 Python Matplotlib 通信的异构数据可视化服务</title>
    <link href="https://zealotlab.com/5093894487/"/>
    <id>https://zealotlab.com/5093894487/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.372Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们的一个核心业务系统是用 Elixir 构建的，它处理着大量的实时遥测数据。最近出现一个需求：为运营团队提供按需生成的复杂时序数据分析图表。这些图表不是简单线图，需要包含统计学标记、多轴、复杂的注释，这些是 Matplotlib 的强项，但用前端 JS 库（如</summary>
        
      
    
    
    
    <category term="后端架构" scheme="https://zealotlab.com/categories/%E5%90%8E%E7%AB%AF%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="Elixir" scheme="https://zealotlab.com/tags/Elixir/"/>
    
    <category term="Matplotlib" scheme="https://zealotlab.com/tags/Matplotlib/"/>
    
    <category term="DynamoDB" scheme="https://zealotlab.com/tags/DynamoDB/"/>
    
    <category term="Vite" scheme="https://zealotlab.com/tags/Vite/"/>
    
  </entry>
  
  <entry>
    <title>使用Ansible自动化部署基于ScyllaDB实时特征存储的Keras生成式AI推理服务</title>
    <link href="https://zealotlab.com/5077470585/"/>
    <id>https://zealotlab.com/5077470585/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.372Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们的新一代个性化内容生成服务在原型阶段表现惊人，但部署到准生产环境后，推理延迟的P99指标直接飙升到了无法接受的3秒。问题根源很快被定位：模型需要实时获取用户最新的行为特征作为Prompt的一部分，而我们现有的特征平台是基于Hadoop/Spark的批处理管道，T+1的数</summary>
        
      
    
    
    
    <category term="MLOps" scheme="https://zealotlab.com/categories/MLOps/"/>
    
    
    <category term="Ansible" scheme="https://zealotlab.com/tags/Ansible/"/>
    
    <category term="ScyllaDB" scheme="https://zealotlab.com/tags/ScyllaDB/"/>
    
    <category term="生成式AI" scheme="https://zealotlab.com/tags/%E7%94%9F%E6%88%90%E5%BC%8FAI/"/>
    
    <category term="Keras" scheme="https://zealotlab.com/tags/Keras/"/>
    
    <category term="Feature Store" scheme="https://zealotlab.com/tags/Feature-Store/"/>
    
  </entry>
  
  <entry>
    <title>利用 Kafka 事件流构建解耦读写模型：ASP.NET Core 与 Google Cloud Functions 的协同架构</title>
    <link href="https://zealotlab.com/4599845759/"/>
    <id>https://zealotlab.com/4599845759/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.372Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;一个日益复杂的 ASP.NET Core</summary>
        
      
    
    
    
    <category term="架构与设计" scheme="https://zealotlab.com/categories/%E6%9E%B6%E6%9E%84%E4%B8%8E%E8%AE%BE%E8%AE%A1/"/>
    
    
    <category term="Kafka" scheme="https://zealotlab.com/tags/Kafka/"/>
    
    <category term="GraphQL Client" scheme="https://zealotlab.com/tags/GraphQL-Client/"/>
    
    <category term="Google Cloud Functions" scheme="https://zealotlab.com/tags/Google-Cloud-Functions/"/>
    
    <category term="ASP.NET Core" scheme="https://zealotlab.com/tags/ASP-NET-Core/"/>
    
    <category term="Webpack" scheme="https://zealotlab.com/tags/Webpack/"/>
    
  </entry>
  
  <entry>
    <title>基于BentoML、Iceberg与SSG构建不可变机器学习模型评估报告流水线</title>
    <link href="https://zealotlab.com/5598122670/"/>
    <id>https://zealotlab.com/5598122670/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.373Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;团队的模型性能追踪一度陷入混乱。评估指标散落在不同的Jupyter Notebook输出、CSV文件和临时的监控图表中。当需要回溯三个月前某个特定模型版本（比如</summary>
        
      
    
    
    
    <category term="MLOps" scheme="https://zealotlab.com/categories/MLOps/"/>
    
    
    <category term="Data Lake" scheme="https://zealotlab.com/tags/Data-Lake/"/>
    
    <category term="SSG" scheme="https://zealotlab.com/tags/SSG/"/>
    
    <category term="BentoML" scheme="https://zealotlab.com/tags/BentoML/"/>
    
    <category term="Apache Iceberg" scheme="https://zealotlab.com/tags/Apache-Iceberg/"/>
    
    <category term="MLOps" scheme="https://zealotlab.com/tags/MLOps/"/>
    
  </entry>
  
  <entry>
    <title>构建由 Nacos 动态驱动并结合 Firestore 状态持久化的 Qwik 微前端架构</title>
    <link href="https://zealotlab.com/6780270859/"/>
    <id>https://zealotlab.com/6780270859/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.373Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们团队的微前端体系正变得臃肿。最初作为解耦利器的微前端，其主应用（或称“基座”）的配置文件却成了新的瓶颈。每当需要上线一个新的子应用，或者调整某个应用的路由，甚至只是开启一个A/B测试的灰度入口，我们都必须修改基座应用的源码、构建、然后重新部署。这个过程不仅迟钝，而且风险</summary>
        
      
    
    
    
    <category term="前端架构" scheme="https://zealotlab.com/categories/%E5%89%8D%E7%AB%AF%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="Qwik" scheme="https://zealotlab.com/tags/Qwik/"/>
    
    <category term="Turbopack" scheme="https://zealotlab.com/tags/Turbopack/"/>
    
    <category term="Firestore" scheme="https://zealotlab.com/tags/Firestore/"/>
    
    <category term="Nacos" scheme="https://zealotlab.com/tags/Nacos/"/>
    
    <category term="微前端" scheme="https://zealotlab.com/tags/%E5%BE%AE%E5%89%8D%E7%AB%AF/"/>
    
  </entry>
  
  <entry>
    <title>构建基于 Git Webhook 驱动的 Axum 增量静态再生自动化流水线</title>
    <link href="https://zealotlab.com/5419569317/"/>
    <id>https://zealotlab.com/5419569317/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.373Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们的一个核心内容平台遇到了性能与更新频率的典型矛盾。它最初是一个完全由 Axum 实现的动态服务，通过服务端渲染（SSR）直接从数据库中拉取 Markdown 内容并转换为</summary>
        
      
    
    
    
    <category term="后端架构" scheme="https://zealotlab.com/categories/%E5%90%8E%E7%AB%AF%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="Axum" scheme="https://zealotlab.com/tags/Axum/"/>
    
    <category term="Jenkins" scheme="https://zealotlab.com/tags/Jenkins/"/>
    
    <category term="ISR" scheme="https://zealotlab.com/tags/ISR/"/>
    
    <category term="Git" scheme="https://zealotlab.com/tags/Git/"/>
    
  </entry>
  
  <entry>
    <title>构建连接无服务器与传统基础设施的反应式控制平面：Vercel Functions、NATS与Puppet的异构集成</title>
    <link href="https://zealotlab.com/7454188039/"/>
    <id>https://zealotlab.com/7454188039/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.373Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;在管理一个横跨公有云 Serverless 应用和私有数据中心虚拟机的混合环境时，一个核心挑战是如何实现状态的快速、可靠同步。传统的 Puppet agent pull</summary>
        
      
    
    
    
    <category term="架构设计" scheme="https://zealotlab.com/categories/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/"/>
    
    
    <category term="NATS" scheme="https://zealotlab.com/tags/NATS/"/>
    
    <category term="Serverless" scheme="https://zealotlab.com/tags/Serverless/"/>
    
    <category term="Puppet" scheme="https://zealotlab.com/tags/Puppet/"/>
    
    <category term="Vercel Functions" scheme="https://zealotlab.com/tags/Vercel-Functions/"/>
    
    <category term="IaC" scheme="https://zealotlab.com/tags/IaC/"/>
    
    <category term="Control Plane" scheme="https://zealotlab.com/tags/Control-Plane/"/>
    
  </entry>
  
  <entry>
    <title>利用 eBPF 和 Kotlin Multiplatform 构建无 Sidecar 模式的服务网格可观测性探针</title>
    <link href="https://zealotlab.com/7558544473/"/>
    <id>https://zealotlab.com/7558544473/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.374Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;要实现服务网格的可观测性，传统的 Sidecar 模式通过注入代理来拦截所有应用流量，但这带来了显著的资源开销和网络延迟。一个生产环境中更优的方案是利用 eBPF 在内核层面直接捕获网络事件，实现零侵入、高性能的监控。挑战在于，如何为这个基于 C 语言的底层 eBPF</summary>
        
      
    
    
    
    <category term="云原生" scheme="https://zealotlab.com/categories/%E4%BA%91%E5%8E%9F%E7%94%9F/"/>
    
    
    <category term="服务网格" scheme="https://zealotlab.com/tags/%E6%9C%8D%E5%8A%A1%E7%BD%91%E6%A0%BC/"/>
    
    <category term="eBPF" scheme="https://zealotlab.com/tags/eBPF/"/>
    
    <category term="Kotlin Multiplatform" scheme="https://zealotlab.com/tags/Kotlin-Multiplatform/"/>
    
  </entry>
  
  <entry>
    <title>构建边缘设备高基数时序数据平台的架构权衡与实现</title>
    <link href="https://zealotlab.com/7806963589/"/>
    <id>https://zealotlab.com/7806963589/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.374Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;摆在面前的技术挑战是明确的：为数百万潜在的边缘设备构建一个遥测数据采集与处理平台。这些设备会通过持久化的 WebSocket</summary>
        
      
    
    
    
    <category term="架构设计" scheme="https://zealotlab.com/categories/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/"/>
    
    
    <category term="TimescaleDB" scheme="https://zealotlab.com/tags/TimescaleDB/"/>
    
    <category term="Istio" scheme="https://zealotlab.com/tags/Istio/"/>
    
    <category term="WebSockets" scheme="https://zealotlab.com/tags/WebSockets/"/>
    
    <category term="ORM" scheme="https://zealotlab.com/tags/ORM/"/>
    
    <category term="OpenFaaS" scheme="https://zealotlab.com/tags/OpenFaaS/"/>
    
  </entry>
  
  <entry>
    <title>在 Kubernetes 上利用 C#、Celery 与 Clojure 构建异构模型推理工作流</title>
    <link href="https://zealotlab.com/8570604327/"/>
    <id>https://zealotlab.com/8570604327/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.374Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们面临的局面是典型的技术债与创新需求的碰撞：一个用 C# 和 .NET Framework 构建的、庞大而稳定的金融风控单体应用，需要集成一组基于 Python (PyTorch) 的复杂机器学习模型。直接通过 REST API</summary>
        
      
    
    
    
    <category term="分布式架构" scheme="https://zealotlab.com/categories/%E5%88%86%E5%B8%83%E5%BC%8F%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="Kubernetes" scheme="https://zealotlab.com/tags/Kubernetes/"/>
    
    <category term="Celery" scheme="https://zealotlab.com/tags/Celery/"/>
    
    <category term="C#" scheme="https://zealotlab.com/tags/C/"/>
    
    <category term="模型部署" scheme="https://zealotlab.com/tags/%E6%A8%A1%E5%9E%8B%E9%83%A8%E7%BD%B2/"/>
    
    <category term="Clojure" scheme="https://zealotlab.com/tags/Clojure/"/>
    
    <category term="RabbitMQ" scheme="https://zealotlab.com/tags/RabbitMQ/"/>
    
    <category term="微服务" scheme="https://zealotlab.com/tags/%E5%BE%AE%E6%9C%8D%E5%8A%A1/"/>
    
  </entry>
  
  <entry>
    <title>使用 GitHub Actions 实现跨 AWS Azure 与 Google Cloud 的 AI 函数统一 GitOps 部署</title>
    <link href="https://zealotlab.com/8696678442/"/>
    <id>https://zealotlab.com/8696678442/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.374Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;最初的痛点源于混乱。我们的数据科学团队负责产出模型，而平台团队负责将这些模型封装成服务并部署。问题在于，我们的基础设施横跨三大公有云：AWS、Azure 和 Google Cloud。每个云都有自己的一套 Serverless 方案——Lambda、Azure</summary>
        
      
    
    
    
    <category term="DevOps" scheme="https://zealotlab.com/categories/DevOps/"/>
    
    
    <category term="GitHub" scheme="https://zealotlab.com/tags/GitHub/"/>
    
    <category term="Google Cloud Functions" scheme="https://zealotlab.com/tags/Google-Cloud-Functions/"/>
    
    <category term="Azure" scheme="https://zealotlab.com/tags/Azure/"/>
    
    <category term="AWS" scheme="https://zealotlab.com/tags/AWS/"/>
    
    <category term="AI" scheme="https://zealotlab.com/tags/AI/"/>
    
    <category term="Data Science &amp; Big Data" scheme="https://zealotlab.com/tags/Data-Science-Big-Data/"/>
    
  </entry>
  
  <entry>
    <title>利用Google Cloud Pub/Sub实现GKE上高韧性的解耦式Jenkins流水线</title>
    <link href="https://zealotlab.com/8984873195/"/>
    <id>https://zealotlab.com/8984873195/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.374Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;一个45分钟的CI/CD流水线，在第40分钟的端到端测试阶段因为网络抖动而失败。在传统的单体&lt;code&gt;Jenkinsfile&lt;/code&gt;设计中，这意味着从头再来：重新拉取代码、重新编译、重新运行单元测试、重新打包镜像。这不仅仅是40分钟的计算资源浪费，更是对开发迭代效率</summary>
        
      
    
    
    
    <category term="云原生与DevOps" scheme="https://zealotlab.com/categories/%E4%BA%91%E5%8E%9F%E7%94%9F%E4%B8%8EDevOps/"/>
    
    
    <category term="CI/CD" scheme="https://zealotlab.com/tags/CI-CD/"/>
    
    <category term="Jenkins" scheme="https://zealotlab.com/tags/Jenkins/"/>
    
    <category term="Google Cloud Pub/Sub" scheme="https://zealotlab.com/tags/Google-Cloud-Pub-Sub/"/>
    
    <category term="GCP GKE" scheme="https://zealotlab.com/tags/GCP-GKE/"/>
    
    <category term="事件驱动架构" scheme="https://zealotlab.com/tags/%E4%BA%8B%E4%BB%B6%E9%A9%B1%E5%8A%A8%E6%9E%B6%E6%9E%84/"/>
    
  </entry>
  
  <entry>
    <title>在CircleCI工作流中通过Go绞杀者代理实现PHP看板应用的无缝迁移</title>
    <link href="https://zealotlab.com/9278591695/"/>
    <id>https://zealotlab.com/9278591695/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.375Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;团队接手了一个有数年历史的PHP看板（Kanban）项目。其核心问题在于，所有状态更新都依赖于前端定时发起的AJAX轮询。在看板卡片数量增多、团队协作频繁时，服务器压力巨大，且用户体验延迟明显。技术债的另一个体现是，整个系统是一个巨大的单体应用，任何微小的改动都需要完整的回</summary>
        
      
    
    
    
    <category term="架构设计" scheme="https://zealotlab.com/categories/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/"/>
    
    
    <category term="Go" scheme="https://zealotlab.com/tags/Go/"/>
    
    <category term="CircleCI" scheme="https://zealotlab.com/tags/CircleCI/"/>
    
    <category term="PHP" scheme="https://zealotlab.com/tags/PHP/"/>
    
    <category term="Headless UI" scheme="https://zealotlab.com/tags/Headless-UI/"/>
    
    <category term="Kanban" scheme="https://zealotlab.com/tags/Kanban/"/>
    
  </entry>
  
  <entry>
    <title>结合图数据库与分片文档库的多租户数据隔离与动态权限架构实现</title>
    <link href="https://zealotlab.com/9453158945/"/>
    <id>https://zealotlab.com/9453158945/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.375Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;为大规模SaaS平台设计数据架构时，两个核心矛盾几乎无法回避：如何实现租户间严格的数据隔离以确保安全与合规，以及如何支撑复杂且动态变化的权限模型。传统的单体关系型数据库在租户数量和权限维度激增后，会迅速成为性能瓶颈和维护噩梦。单纯的数据库分片解决了数据隔离和水平扩展问题，却</summary>
        
      
    
    
    
    <category term="架构设计" scheme="https://zealotlab.com/categories/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/"/>
    
    
    <category term="NoSQL" scheme="https://zealotlab.com/tags/NoSQL/"/>
    
    <category term="数据库分片" scheme="https://zealotlab.com/tags/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%88%86%E7%89%87/"/>
    
    <category term="Neo4j" scheme="https://zealotlab.com/tags/Neo4j/"/>
    
    <category term="多租户" scheme="https://zealotlab.com/tags/%E5%A4%9A%E7%A7%9F%E6%88%B7/"/>
    
    <category term="架构" scheme="https://zealotlab.com/tags/%E6%9E%B6%E6%9E%84/"/>
    
  </entry>
  
  <entry>
    <title>构建面向 Ray 作业的声明式提交通道 集成 Ant Design 与 Argo CD 的 GitOps 实践</title>
    <link href="https://zealotlab.com/9603088706/"/>
    <id>https://zealotlab.com/9603088706/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.375Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;团队的算法工程师们开始频繁抱怨提交 Ray 分布式任务的流程。最初，我们只是提供了标准的 KubeRay Operator YAML 模板，让他们手动修改并使用 &lt;code&gt;kubectl apply&lt;/code&gt;</summary>
        
      
    
    
    
    <category term="平台工程" scheme="https://zealotlab.com/categories/%E5%B9%B3%E5%8F%B0%E5%B7%A5%E7%A8%8B/"/>
    
    
    <category term="GitOps" scheme="https://zealotlab.com/tags/GitOps/"/>
    
    <category term="Kubernetes" scheme="https://zealotlab.com/tags/Kubernetes/"/>
    
    <category term="Ant Design" scheme="https://zealotlab.com/tags/Ant-Design/"/>
    
    <category term="Argo CD" scheme="https://zealotlab.com/tags/Argo-CD/"/>
    
    <category term="Ray" scheme="https://zealotlab.com/tags/Ray/"/>
    
    <category term="IDP" scheme="https://zealotlab.com/tags/IDP/"/>
    
  </entry>
  
  <entry>
    <title>基于 Go 实现感知前端状态的 IAM 网关授权层</title>
    <link href="https://zealotlab.com/8367194168/"/>
    <id>https://zealotlab.com/8367194168/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.374Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;微服务拆分后，我们团队遇到了一个棘手的难题：授权逻辑散落在十几个后端服务中，实现方式五花八门。有的用中间件，有的在业务逻辑里硬编码，不仅难以维护，更可怕的是权限变更时需要协调多个团队发布，任何一次疏忽都可能导致安全漏洞。前端团队也苦不堪言，他们需要根据用户权限动态展示或禁用</summary>
        
      
    
    
    
    <category term="后端架构" scheme="https://zealotlab.com/categories/%E5%90%8E%E7%AB%AF%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="Go" scheme="https://zealotlab.com/tags/Go/"/>
    
    <category term="网关与代理" scheme="https://zealotlab.com/tags/%E7%BD%91%E5%85%B3%E4%B8%8E%E4%BB%A3%E7%90%86/"/>
    
    <category term="IAM" scheme="https://zealotlab.com/tags/IAM/"/>
    
    <category term="Zustand" scheme="https://zealotlab.com/tags/Zustand/"/>
    
    <category term="React" scheme="https://zealotlab.com/tags/React/"/>
    
  </entry>
  
  <entry>
    <title>构建支持优雅停机与智能重连的生产级SSE服务</title>
    <link href="https://zealotlab.com/6431640048/"/>
    <id>https://zealotlab.com/6431640048/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.373Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;在微服务架构中，应用的频繁部署和滚动更新是常态。这对于无状态的REST API来说不成问题，但对于Server-Sent Events (SSE) 这种长连接技术，却是一个致命的挑战。一个标准的Spring</summary>
        
      
    
    
    
    <category term="后端架构" scheme="https://zealotlab.com/categories/%E5%90%8E%E7%AB%AF%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="Spring Framework" scheme="https://zealotlab.com/tags/Spring-Framework/"/>
    
    <category term="Server-Sent Events" scheme="https://zealotlab.com/tags/Server-Sent-Events/"/>
    
    <category term="TypeScript" scheme="https://zealotlab.com/tags/TypeScript/"/>
    
  </entry>
  
  <entry>
    <title>利用 CircleCI 与 Chef 构建动态基础设施拓扑的图数据库状态管理实践</title>
    <link href="https://zealotlab.com/6964354185/"/>
    <id>https://zealotlab.com/6964354185/</id>
    <published>2023-10-27T10:30:00.000Z</published>
    <updated>2026-01-18T03:15:15.373Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;一个线上告警将整个团队拉入了长达三小时的故障排查会议。起因是一个底层支付网关的配置变更，部署过程一切正常，但几个小时后，一个看似毫无关联的营销活动服务开始出现大面积的请求超时。没人能立刻解释这两者之间的联系，静态的架构图早已过时，Wiki文档也未曾更新。我们花费了大量时间，</summary>
        
      
    
    
    
    <category term="DevOps" scheme="https://zealotlab.com/categories/DevOps/"/>
    
    
    <category term="NoSQL" scheme="https://zealotlab.com/tags/NoSQL/"/>
    
    <category term="CircleCI" scheme="https://zealotlab.com/tags/CircleCI/"/>
    
    <category term="Chef" scheme="https://zealotlab.com/tags/Chef/"/>
    
    <category term="状态管理" scheme="https://zealotlab.com/tags/%E7%8A%B6%E6%80%81%E7%AE%A1%E7%90%86/"/>
    
    <category term="图数据库" scheme="https://zealotlab.com/tags/%E5%9B%BE%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
    
  </entry>
  
  <entry>
    <title>构建从 Dart 到 Kafka 的零信任数据管道 mTLS 认证实践</title>
    <link href="https://zealotlab.com/1518700752/"/>
    <id>https://zealotlab.com/1518700752/</id>
    <published>2023-10-27T10:15:20.000Z</published>
    <updated>2026-01-18T03:15:15.371Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;我们面临一个具体的工程挑战：一个由成百上千个运行 Dart 的终端设备（可能是 Flutter 应用，也可能是 IoT 固件）组成的网络，需要将高价值的遥测数据实时、安全地推送到后端的 Kafka 集群。这些设备部署在不可信的网络环境中——客户的家庭网络、公共</summary>
        
      
    
    
    
    <category term="后端架构" scheme="https://zealotlab.com/categories/%E5%90%8E%E7%AB%AF%E6%9E%B6%E6%9E%84/"/>
    
    
    <category term="Dart" scheme="https://zealotlab.com/tags/Dart/"/>
    
    <category term="Kafka" scheme="https://zealotlab.com/tags/Kafka/"/>
    
    <category term="网络安全" scheme="https://zealotlab.com/tags/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/"/>
    
    <category term="mTLS" scheme="https://zealotlab.com/tags/mTLS/"/>
    
    <category term="ZeroTrust" scheme="https://zealotlab.com/tags/ZeroTrust/"/>
    
  </entry>
  
</feed>
