gettzen
本站致力于IT相关技术的分享
构建从数据库变更到前端UI的实时数据管道 构建从数据库变更到前端UI的实时数据管道
最初的需求听起来很简单:在一个内部运营看板上实时展示业务数据的变化。但“实时”这个词,是所有麻烦的开始。轮询方案第一时间就被否决了,它会给数据库和后端带来无法接受的周期性压力,并且延迟完全不可控。我们需要一个真正的推送模型,一个从数据源头触
2023-10-27
基于 Babel AST 与 Seaborn 的国际化复杂度可视化分析器构建实践 基于 Babel AST 与 Seaborn 的国际化复杂度可视化分析器构建实践
技术痛点:失控的国际化(i18n)文案在一个大型、多团队协作的前端项目中,国际化(i18n)文案的管理逐渐成为一个隐蔽的技术债温床。最初,我们遵循简单的 t('key.name') 模式,一切井然有序。但随着业务迭代加速,上
2023-10-27
使用Raft与Chef实现具备自愈能力的数据库分片元数据管理 使用Raft与Chef实现具备自愈能力的数据库分片元数据管理
业务增长初期,单体数据库是最高效的选择。但当写入负载和数据量超过单机垂直扩展的物理极限时,分片(Sharding)就从一个架构选项变成了必然要求。手动分片方案在初期或许能勉强应对,但很快就会演变成运维的噩梦:每次扩容都需要手动迁移数据、修改
使用 Tornado 构建支持动态房间的 WebRTC 信令服务器及其状态管理架构 使用 Tornado 构建支持动态房间的 WebRTC 信令服务器及其状态管理架构
任何超过两个参与者的 WebRTC 应用,其复杂性都会从 P2P 连接的媒体协商,迅速转移到服务器端的状态管理上。当需求从简单的“双人通话”演变为“支持数百个动态创建房间、数千个并发用户的协作平台”时,一个天真的、频繁读写数据库的信令服务器
2023-10-27
构建Saga补偿事务网关以纳管Oracle遗留系统并集成Cypress进行一致性断言 构建Saga补偿事务网关以纳管Oracle遗留系统并集成Cypress进行一致性断言
我们面临一个棘手的现实:一个承载核心业务的巨型Oracle数据库,以及一个基于Node.js构建的新微服务。业务要求一个跨越这两个系统的操作必须保持原子性——要么全部成功,要么全部回滚到初始状态。具体场景是:在新微服务中创建“合约”记录,然
5 / 5