← 返回蜂巢洞察

文章:强制停止规则:从三个庞大的中央管理系统转变为120个专注于特定领域的微服务系统

在一个没有专门分配迁移预算的情况下,一个负责薪资管理和人力资源管理的软件团队在五年的时间里,将原本由三个独立模块组成的系统拆分成了120多个较小的服务。每一个新功能都是作为独立的服务来开发的,而不是对原有的系统进行修改。这篇文章介绍了这种基于“拉取式开发”模式的迁移方法、实现这一目标所使用的工具、成本控制措施,以及团队在实施过程中遇到的各种问题。 作者:Prashanth Pasham

在一个没有专门分配迁移预算的情况下,一个负责薪资管理和人力资源管理的软件团队在五年的时间里,将原本由三个独立模块组成的系统拆分成了120多个较小的服务。每一个新功能都是作为独立的服务来开发的,而不是对原有的系统进行修改。这篇文章介绍了这种基于“拉取式开发”模式的迁移方法、实现这一目标所使用的工具、成本控制措施,以及团队在实施过程中遇到的各种问题。

作者:Prashanth Pasham

相关文章

技术实践

如何逐步迁移传统的单体应用系统,而无需进行大规模的重新开发

大多数传统的迁移项目在最终切换完成之前就会失败。 这种失败通常源于将迁移过程视为一个单一的步骤来执行:迁移应用程序、数据库,转移所有用户数据,调整流量分配,然后关闭旧系统。 这种做法隐含了一个危险的假设:即旧系统和新系统必须同时被替换掉。 但实际上,这种情况很少会发生。 如果你已经了解了旧系统的运行机制,可以通过编写测试用例来保护这些现有功能,设定适合迁移的边界条件,并对比新旧系统的实现方式,那么你就有了另一种选择。 你可以一次只迁移一个功能模块。这样就能彻底改变原有的迁移方案。 旧式单体系统 ↓ 全面重构 ↓ 一次性切换完成 而你现在可以选择的做法是: 旧式单体系统 ↓ 提取出一个功能模块进

阅读全文
技术实践

Agoda用DragonflyDB取代了原有的72片分片的SQL Server价格缓存系统。

Agoda将其规模为1.5 TB的酒店价格缓存系统从72个SQL Server分片迁移到了DragonflyDB,以此来应对日益增加的读写请求量。此次迁移采用了分阶段双读机制、奇偶校验技术、逐步转移流量策略以及去中心化的故障检测机制。据Agoda称,P99读延迟时间减少了大约8倍,而两个DragonflyDB集群则确保了系统的高可用性。 作者:Leela Kumili

阅读全文
技术实践

“从设计层面确保安全性”:在编写任何代码之前,如何将安全机制纳入系统架构之中

在大多数工程团队中,都会进行这样的对话——不过往往为时已晚。 想象一下:某个功能被部署到生产环境中之后,才会进行安全审查;或者在进行渗透测试时发现了问题;更糟糕的是,还会收到事故报告。 这些漏洞确实是存在的,修复它们也需要投入大量成本。而在这些讨论中,总会有人说:“我们需要为这个功能添加安全措施。” 但这个问题就出在这里:安全并不是事后才添加到软件中的东西,而应该从项目一开始就被纳入设计之中。一旦开始考虑为已经存在的东西添加安全功能,那就意味着你已经进入了“事故应对模式”。 “安全驱动设计”是一种完全不同的思维方式——在制定架构决策之前,就应该明确安全要求;在编写任何代码之前,就必须了解潜在的

阅读全文
技术实践

Instagram采用了基于人工智能的架构对用户界面进行了优化,由此使相关成本降低了33%。

Instagram Direct将其Android应用程序的用户界面从传统的Android View系统迁移到了Jetpack Compose,从而创建了一个更适合人工智能编程工具理解和修改的UI代码库。据Instagram的工程师们表示,这一迁移使得UI代码的数量减少了50%,同时每个人工智能程序会话所消耗的资源成本也降低了33%。 作者:Sergio De Simone

阅读全文