开发者社区> 问答> 正文

iLogtail确定好新架构后,如何分阶段来完成架构升级?

iLogtail确定好新架构后,如何分阶段来完成架构升级?

展开
收起
夹心789 2024-05-22 11:51:47 37 0
1 条回答
写回答
取消 提交回答
  • 新架构与原有架构的区别较大,升级涉及到的模块众多,工作量大。显然,一口气完成架构升级是不可行的,必须分阶段分模块进行,在CI的配合下确保每一个模块的重构都是符合预期的。那怎么分阶段呢?这里就走过一些弯路,因为从架构设计的角度,我们会习惯性地从外往里进行思考(即按照上文实践一节从后往前的顺序),但这会陷入一个层层依赖的问题。例如,在重构配置管理模块的时候,会依赖Pipeline类和PipelineManager类。为此,需要优先重构这两个类。但是重构这两个类的时候,又会依赖各种插件类的实现。按照这个顺序进行下去,最终的依赖便是PipelineEvent类。显然,按照这个顺序进行下去,相当于一口气完成架构升级,因此根本不可行。正确的做法是由里向外进行重构,先重构PipelineEvent类,再重构插件类,以此类推最后重构Application类,即按照上文介绍的顺序。借助这个顺序,就可以将整个架构升级过程分成至少6个大阶段,每个阶段都可以单独CI而不会影响既有功能的正常工作。但是,想要正确执行这种顺序,就必须要求对目标架构有一个完整清晰的认知和详细的设计。如果对目标架构的认识只停留在粗框架的层面,那必然无法准确得到各个模块的依赖关系,从而得到并非完全正确的阶段划分,最终影响实际重构的进度和效率。任何时候,想清楚了再做永远是事半功倍的基本前提,对于架构升级来说尤甚。

    2024-05-22 13:49:46
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
MaxCompute架构升级及开放性解读 立即下载
MaxCompute Serverless 架构演进 立即下载
阿里云消息队列的 Serverless架构演进 立即下载