【技术】【开发者成长】升级遗留代码的最佳实践( 三 )
更复杂的更改需要对基础设施进行改进 , 比如 , 创建一个前端服务器层 , 你可以从其中呈现来自不同源的应用程序片段 , 如上面的微服务示例 。 基于 XML 的标记语言 ESI(Edge Sides Includes)可能适合这项任务 , 而 Varish 或 Nginx 然后 , 为了确保你的应用在用户群增长时能够保持性能 , 请创建负载均衡器和基于上下文的独立数据库 , 这些数据库在微服务或宏服务中单独使用 。
创造一个能够支持这种安排的灵活环境也是一个挑战 。 转移到微服务时 , 你只需在基础设施上投资一次 , 但你将需要进一步支持这种架构的维护 。 尽管如此 , 它可能仍然比重写所有代码要便宜得多 。
如果你的主要目标是创建一个易于维护的生态系统(而不是关注性能第一 , 维护第二) , 你还需要在开发过程中确定系统的关键元素 , 并创建路线图来对它们进行更改 。 在这个过程中引入一些持续集成和部署的魔法 , 其中 , CI 和 CD 流程可以在没有 QA 或开发人员的帮助就能自动进行 , 然后你最终将得到一个结构清晰、易于修改和调整的成熟软件 。
当然 , 这种混合方法并不是世界上唯一可行或正在使用的选项 。 但是 , 代码库的增量更改最终导致了完全重写 , 你得以能够使用工作代码 , 从而使业务保持安全 , 同时 , 微服务使不同团队能够独立地交付新的和不同的功能 , 提供了一个为长期使用而设计的过程和架构 。
要做持久的更改需要什么? 你可能会看着我的首选解决方案 , 然后心想 , “嗯 , 这有点过于工程化了” , 或者“我没有一个团队能胜任这种工作” , 或者“这对我的平台来说太过于复杂” , 或者甚至“这不是纯粹的微服务架构!”我并不反对你这些想法 , 但我确实认为 , 升级你的技术将会迫使你作长远考虑 。
我提供的并不是快速解决方案 。 相反 , 混合方法为你提供了基于工作基础之上的新技术 。 通过逐步转向微服务 , 增量更改允许你轻松地更新应用程序 , 并利用最新的框架 , 所有这些都不会迫使你在可靠性上作出妥协 。 那么 , 你准备好重新构建你的软件了吗?
- 「北京头条客户端」科技部:将加大对前沿技术研发的攻关和支持力度
- 『财经涂鸦』三七互娱爆发的秘密:该用技术公司估值模型来看它了
- 2020年你应该关注的8大技术趋势,眺望曙光TVP线上技术闭门会纯享实录
- 十大突破性技术-NMN,叫你如何选择最好的NMN
- CNBC:京东智联云打造欧美企业在华首选技术服务平台
- 「制空少年」成长路上的三道坎,尽早知道,尽早做准备,大学参军入伍
- 鲁信创投■60余家创投机构代表参加新能源与先进制造专场路演活动中国科协科学技术传播中心
- 产业气象站▲固守高端显示技术领先地位,三星、LGD皆弃LCD
- 『小谦』原创 安卓11迎来开发者预览2.1版本,修复诸多崩溃问题
- 『接风娱乐』人机对战协作新时期已经来临,提高智能化与人工智能技术趋于结合