全站共发布文章 64 篇
2026
2026-03-12 1 contributions
2026-01-17 1 contributions

2026

09月

换个模型要改多少代码:LLM 接入层的分层设计

本文介绍了企业级AI功能接入层的设计理念与实现要点。该设计通过统一请求响应契约(仅暴露"问答"交互)、采用OpenAI兼容协议作为底层标准、精细化错误类型划分、支持多模型配置管理及健康检查机制,实现了以下核心价值:1)供应商切换仅需修改配置文件,业务代码零改动;2)将模型服务复杂性完全封装,业务方只需关注问答逻辑;3)提供可操作的运维能力,包括故障自动探测和语义化错误处理。特别强调了窄接口设计(如默认温度值0.2确保稳定性)和失败语义翻译的重要性,使得企业AI服务既保持灵活性又具备生产环境所需的可靠性。最终通过实际案例证明,该设计成功实现将模型供应商更换成本降低至两行配置修改。

08月

连接断了你发现了吗:WebSocket 心跳与断线重连

本文探讨了IM系统中连接悄无声息断开的解决方案。核心方法包括:1)服务端使用按用户ID组织的会话注册表管理多端连接,推送时自动清理失效连接;2)采用30秒间隔的应用层心跳机制代替TCP Keep-Alive检测连接状态;3)设计两段式退避重连策略(快速重试+低频探测);4)重连后通过HTTP拉取补偿断线期间消息。作者指出连接不稳定是常态,需通过心跳显式检测、智能重连和推送+拉取双机制保障可靠性。这套方案有效解决了"切后台回来看似在线实际失联"的问题。

从白屏到骨架屏:加载态的统一设计

作者初期忽略了加载态设计,直接显示白屏导致用户误认为页面故障。针对常见转圈动画的缺陷(布局跳变、信息缺失、闪烁),作者开发了多功能骨架屏组件,通过五种`variant`类型(文本、列表、网格、聊天、区块)精准模拟真实内容布局,确保视觉连续性。关键技术包括:列表项差异化宽度、聊天气泡交替分布、基于CSS变量的扫光动画适配深色模式,以及`prefers-reduced-motion`无障碍降级。实践表明,骨架屏能有效预占内容空间,减少视觉跳跃,提升等待体验的一致性。组件虽小(180行代码),但通过类型细分和细节优化,解决了加载态的核心痛点。

别让通知变成骚扰:浏览器通知的决策管线

IM通知系统的核心在于精准判断"何时弹窗",避免用户正在查看时重复打扰。文章提出48行TypeScript实现的六层决策管线:先通过渠道筛选、总开关检测,再结合页面焦点/可见状态、用户ID自检及@提及规则过滤冗余通知。权限请求仅在首次实际需要通知时触发,被拒后永不重复询问;弹窗采用topic去重,点击后精准跳转目标页面避免路径冲突。数据表明上线后70%工作时段消息因"用户正聚焦页面"被静默处理,验证了"该沉默时沉默"的设计价值。关键设计包含三档用户设置(全开/仅@我/关闭)、独立采集焦点与可见状态,以及尊重浏览器权限的拒绝状态。

消息撤回不是删除:IM 消息的状态机设计

本文解析了IM消息撤回机制的设计逻辑与技术实现。核心采用状态机模型(NORMAL→EDITED→RECALLED),通过改写消息内容而非物理删除,确保多端同步的一致性。具体包含:1)撤回执行三层校验(会话归属、发送者权限、消息状态),通过后由数据库事务确保并发安全;2)与消息编辑共享校验框架,区别在于终态限制与内容替换;3)下游系统(附件下载、AI引用等)通过统一状态语义自动处理撤回影响。设计亮点在于:使用404而非403保护隐私边界、状态变更写入SQL条件保障并发、事务提交后广播的事件纪律。最终实现既满足业务需求(位置保留、引用自动失效),又兼顾系统安全性与扩展性。

文件上传为什么不能一步到位:票据、去重与引用计数

本文针对企业级文件上传需求,提出了一套包含六个核心机制的设计方案。首先通过两阶段上传(票据签发与直传确认)实现流量分流,应用服务器仅处理元数据校验。其次引入内容哈希去重机制,在保障隐私前提下实现秒传功能,同时设计六重安全校验防范中间人攻击。关键技术点包括:引用计数系统分离业务引用与物理存储,采用"逻辑删除+30天宽限期"策略处理并发删除,并构建个人/全局/缓存三级配额体系。最终形成一套兼顾性能、安全与资源管控的企业文件管理方案,其核心思想在于将文件分解为物理对象、业务引用和计数关系三个维度进行管理。

07月

全站 CSRF 防护怎么落地:从关掉再打开说起

Spring Security的CSRF防护在前后端分离项目中常被默认关闭,但基于Session Cookie认证的系统存在严重风险。本文记录全站补CSRF防护的过程:首先明确需保护的请求类型,包括业务写接口和匿名关键接口(如登录、验证码),同时排除对象存储直传等特殊场景。采用"首次写请求时获取token"的方案避免初始化竞态问题。后端配置需注意四点:关掉Cookie的HttpOnly、使用原始handler处理token、合理设置/api/csrf端点权限、不豁免任何请求的CSRF检查。特殊场景需精确过滤Header,避免泄漏和破坏签名。错误响应需区分403(CSRF失败)和401(认证失败)。测试阶段应保持真实协议校验,避免关闭防护导致测试失效。核心在于精确划定防护边界,尤其是不能豁免登录接口的CSRF检查,这是最容易被攻击的入口。

一套后端,两个世界:管理端与员工端的 API 隔离

Workforce Hub通过架构层面的URL前缀、过滤器和身份模型三重隔离,确保员工端与管理端的严格分离。具体措施包括:1)按功能模块拆分双端Controller,通过/api/admin和/api/employee前缀实现物理隔离;2)部署全局过滤器强制校验URL前缀与用户角色匹配,双向拦截越界请求;3)管理员细粒度权限通过独立过滤器实现。该设计方案将安全校验从注解层面提升至架构层面,避免人为疏漏带来的权限泄露,同时保持业务逻辑在Service层的复用性。实施后渗透测试显示,非授权访问被100%拦截在请求入口,验证了架构级隔离的有效性。

给企业系统留一个插件槽:宿主与插件的边界设计

本文探讨企业系统中宿主与插件的边界设计,提出四大核心边界:能力、安全、生命周期与数据。关键设计包括:1)通过严格限定的SDK类型清单确立能力边界,确保编译期隔离;2)采用动态代理实现默认拒绝机制,通过五重校验控制权限;3)实施签名验证与配置加密保障安装安全;4)设计门闩-计数器模型确保插件可安全停用;5)建立独立数据存储与单向事件流。核心原则是"默认拒绝",使系统既保持扩展性又维护可控性。实践表明该方案支持插件快速开发接入(案例中2天完成对接),同时确保宿主架构的演化自由。

审批流不是接上引擎就完事:业务与 Flowable 的接入层

本文探讨审批引擎与业务系统的接入层设计,提出“通用表+明细表”的多态架构:主表`workflow_request`存储审批通用字段,业务明细表通过`biz_type`关联实现差异化存储,保障引擎逻辑与业务解耦。关键设计包括:1)提交时即时冻结资源(如假期余额),防止审批期间超额占用;2)业务前置校验(如直属上级检查)提升交互友好性;3)AI预审作为可插拔环节无缝融入流程;4)审批动作实施行锁读取、归属校验、状态校验三重防护;5)终态处理严格执行“动账→留痕→引擎推进→状态收口→下游重算”序列。接入层通过冻结时序控制、多态路由和状态机守卫,确保审批链路在业务层面的可靠性与资金安全。

1 2 3 … 7

欢迎来到SailTrack的站点,为您导航全站动态

65 文章数
11 分类数
5 评论数
60标签数