[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-post-observability-for-small-teams-zh-CN":3,"blog-related-observability-for-small-teams-zh-CN":29,"blog-adjacent-observability-for-small-teams-zh-CN":65},{"id":4,"slug":5,"title":6,"excerpt":7,"content":8,"cover":9,"tone":10,"author":11,"publishedAt":12,"updatedAt":12,"readingMinutes":13,"featured":14,"tags":15,"category":19,"seoSettings":28},45,"observability-for-small-teams","可观测性：日志、指标与追踪","系统出问题时，能回答“发生了什么”比“系统很慢”更有价值。","\u003Cp>很多项目的日志只记录错误，而且是零散的字符串。故障发生时，团队要在服务器上翻文件、拼时间线，一查就是几个小时。可观测性建设并不昂贵，关键是结构。\u003C\u002Fp>\n\u003Ch2>三类信号的用途\u003C\u002Fh2>\n\u003Cp>日志回答“发生了什么”：请求参数、异常堆栈、业务关键节点。结构化日志比纯文本更易检索。\u003C\u002Fp>\n\u003Cp>指标回答“是否异常”：接口耗时、错误率、队列积压。指标适合做告警，不适合定位细节。\u003C\u002Fp>\n\u003Cp>追踪回答“慢在哪一环”：一次请求经过哪些服务，各段耗时多少。跨服务调用多时尤其必要。\u003C\u002Fp>\n\u003Ch2>最小可行的做法\u003C\u002Fh2>\n\u003Cp>所有请求打一个统一的 request id，日志、指标、追踪都能按它串起来。\u003C\u002Fp>\n\u003Cp>关键业务动作单独打点，比如订单创建、审批通过，方便事后核对。\u003C\u002Fp>\n\u003Cp>保留三十天的查询窗口，超过三十天的数据归档而不是丢弃。\u003C\u002Fp>\n\u003Cp>可观测性不是买一套平台就有的，而是从第一条结构化日志开始积累的。\u003C\u002Fp>","","teal","佳益方圆团队","2026-04-20T16:15:00+08:00",1,false,[16,17,18],"可观测性","日志","运维",{"id":13,"parentId":20,"slug":21,"name":22,"description":23,"icon":24,"cover":9,"tone":25,"kind":26,"sortOrder":27,"count":20},0,"engineering","技术专栏","架构设计、性能优化、AI 集成与跨端方案等一线技术实践，由研发团队持续分享。","cpu","blue","article",60,{},[30,42,54],{"id":31,"slug":32,"title":33,"excerpt":34,"content":9,"cover":9,"tone":35,"author":11,"publishedAt":36,"updatedAt":36,"readingMinutes":13,"featured":14,"tags":37,"category":41},30,"integration-api-pitfalls","企业系统集成：接口对接最容易踩的五个坑","接口文档写得再全，真正对接时仍然会卡在字段约定、超时和重复推送这些细节上。","cyan","2026-10-17T09:00:00+08:00",[38,39,40],"系统集成","接口","工程实践",{"id":13,"parentId":20,"slug":21,"name":22,"description":23,"icon":24,"cover":9,"tone":25,"kind":26,"sortOrder":27,"count":20},{"id":13,"slug":43,"title":44,"excerpt":45,"content":9,"cover":9,"tone":35,"author":11,"publishedAt":46,"updatedAt":47,"readingMinutes":48,"featured":49,"tags":50,"category":53},"why-enterprise-systems-age","为什么企业系统会在三年后开始“老化”","系统上线时功能齐全，三年后却处处别扭。问题往往不在代码，而在交付时被忽略的那些变化。","2026-10-16T09:30:00+08:00","2026-10-18T15:58:14.648+08:00",2,true,[51,52],"系统演进","架构设计",{"id":13,"parentId":20,"slug":21,"name":22,"description":23,"icon":24,"cover":9,"tone":25,"kind":26,"sortOrder":27,"count":20},{"id":55,"slug":56,"title":57,"excerpt":58,"content":9,"cover":9,"tone":25,"author":11,"publishedAt":59,"updatedAt":59,"readingMinutes":13,"featured":14,"tags":60,"category":64},31,"idempotent-design-basics","幂等设计：重复提交不只是用户手抖","网络重试、消息重投、用户连点，都会让同一个请求到达多次。幂等应该设计在接口里。","2026-10-05T10:13:00+08:00",[61,62,63],"接口设计","幂等","可靠性",{"id":13,"parentId":20,"slug":21,"name":22,"description":23,"icon":24,"cover":9,"tone":25,"kind":26,"sortOrder":27,"count":20},{"previous":66,"next":83},{"id":67,"slug":68,"title":69,"excerpt":70,"content":9,"cover":9,"tone":25,"author":11,"publishedAt":71,"updatedAt":71,"readingMinutes":13,"featured":14,"tags":72,"category":76},24,"managing-founder-anxiety","创业者的焦虑管理","焦虑不会消失，但可以被安排。把它拆成具体的问题，才有处理的可能。","2026-04-22T15:02:00+08:00",[73,74,75],"创业","心态","经营",{"id":77,"parentId":20,"slug":78,"name":79,"description":80,"icon":81,"cover":9,"tone":25,"kind":26,"sortOrder":82,"count":20},6,"founder-notes","创业手记","创始团队在经营、管理与产品上的思考，记录一家软件公司的成长过程。","pen-tool",10,{"id":84,"slug":85,"title":86,"excerpt":87,"content":9,"cover":9,"tone":25,"author":11,"publishedAt":88,"updatedAt":88,"readingMinutes":13,"featured":14,"tags":89,"category":93},65,"mobile-context-first","移动端场景决定交互","把后台功能搬到手机上，第一件事不是缩小屏幕，而是想清楚用户在什么场景下打开它。","2026-04-18T16:15:00+08:00",[90,91,92],"移动端","场景","产品设计",{"id":48,"parentId":20,"slug":94,"name":95,"description":96,"icon":97,"cover":9,"tone":25,"kind":26,"sortOrder":98,"count":20},"product-thinking","产品思维","需求分析、用户体验与产品设计方法论，以及从业务问题到产品方案的思考过程。","lightbulb",50]